博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
jvm参数
阅读量:5024 次
发布时间:2019-06-12

本文共 2066 字,大约阅读时间需要 6 分钟。

 

参数

说明

-Xms

通过这个选项可以要求系统为堆内存池分配内存空间的最小值。通常情况下这个选项的数值为1 024的整数倍并且大于1MB。这个值的取值规则为,一般情况下这个值(-Xms)与最大堆内存相同,以降低垃圾回收的频度

-Xmx

xms参数。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。

-Xmn

此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。

-Xnoclassgc

这个选项用来取消系统对特定类的垃圾回收。它可以防止当这个类的所有引用丢失之后,这个类仍被引用时不会再一次被重新装载,因此这个选项将增大系统堆内存的空间

-Xss

设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。

 

XX参数

 

 

参数

详细

-XX:NewSize

在通常情况下这个选项的数值为1 024的整数倍并且大于1MB。这个值的取值规则为,一般情况下这个值-XX:NewSize是最大堆内存(maximum heap size)的四分之一。增加这个选项值的大小是为了增大较大数量的短生命周期对象

增加新对象生产堆内存相当于增加了处理器的数目。并且可以并行地分配内存,但是请注意内存的垃圾回收却是不可以并行处理的

-XX:MaxNewSize

其功用与上面的设置新对象生产堆内存-XX:NewSize相同

-XX:SurvivorRatio

空间(Eden/survivor)的大小的比例。设置年轻代中Eden区与Survivor区的大小比值。设置为4,则两个Survivor区与一个Eden区的比值为2:4,一个Survivor区占整个年轻代的1/6

-XX:NewRatio

设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5

-XX:MaxPermSize

设置持久代大小

-XX:MaxTenuringThreshold

设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论。

 

 

 

-XX:+UseSerialGC

设置串行收集器

-XX:+UseParallelGC

设置并行收集器

-XX:+UseParalledlOldGC

设置并行年老代收集器

-XX:+UseConcMarkSweepGC

设置并发收集器

-XX:ParallelGCThreads

设置并行收集器收集时使用的CPU数。并行收集线程数。

-XX:MaxGCPauseMillis

设置并行收集最大暂停时间

-XX:GCTimeRatio

设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n)

并发收集器设置

-XX:+CMSIncrementalMode

设置为增量模式。适用于单CPU情况

-XX:+UseCMSCompactAtFullCollection

使用并发收集器时,设置在FULL GC的时候, 对年老代的压缩;CMS是不会移动内存的, 因此, 这个非常容易产生碎片, 导致内存不够用, 因此, 内存的压缩这个时候就会被启用。 增加这个参数是个好习惯。可能会影响性能,但是可以消除碎片 

-XX:CMSFullGCsBeforeCompaction

上面配置开启的情况下,这里设置多少次Full GC后,对年老代进行压缩。由于并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生"碎片",使得运行效率降低.此值设置运行多少次GC以后对内存空间进行压缩,整理。

 

 -XX:CMSInitiatingOccupancyFraction

预留足够的空间给young gc,防止从young gc 过来一个较大的内存块,而年老代无足够预留空间,无法提供内存快用于回收后的分配,引起强制的full gc,造成较长时间的线程中断 

 

调试辅助信息打印

 

-XX:+PrintGC

-XX:+PrintGCDetails 
-XX:+PrintGCTimeStamp
-XX:+PrintGCApplicationStoppedTime
-XX:PrintHeapAtGC
-Xloggc:filename:
-XX:+HeapDumpOnOutOfMemoryError
-XX:+HeapDumpBeforeFullGC
-XX:HeapDumpPath
-XX:+TraceClassLoading 
-XX:+TraceClassUnloading
-Xprof
-Xrunhprof

转载于:https://www.cnblogs.com/beanchoc/archive/2012/05/21/2511421.html

你可能感兴趣的文章
第10周15/16/17
查看>>
【数据库】SQL两表之间:根据一个表的字段更新另一个表的字段
查看>>
四六级作文常见错误解析(转载)
查看>>
Tomcat
查看>>
./是当前目录 ../是当前的上一级目录。上上级就是../../一般绝对路径时候常用...
查看>>
linux支持FTP和SFTP服务【1】
查看>>
树的递归与非递归遍历方法
查看>>
每天一个Linux命令(6):rmdir命令
查看>>
oracle连接的三个配置文件(转)
查看>>
Vim配置文件(Vimrc)
查看>>
RecyclerView 局部刷新(获取viewHolder 去刷新)
查看>>
PHP表单(get,post)提交方式
查看>>
使用vbs或者bat脚本修改IE浏览器安全级别和选项
查看>>
Silverlight入门
查看>>
Silverlight动态调用WEBSERVICE,WCF方法
查看>>
LeetCode 895. Maximum Frequency Stack
查看>>
模仿segmentfault 评论
查看>>
一个简单的日志函数C++
查看>>
Java 8 中如何优雅的处理集合
查看>>
IOS程序的启动过程
查看>>