垃圾回收期
UseSerialGC:开启此参数使用serial & serial old搜集器(client模式默认值)。
UseParNewGC:开启此参数使用ParNew & serial old搜集器(不推荐)。
UseConcMarkSweepGC:开启此参数使用ParNew & CMS(serial old为替补)搜集器。
UseParallelGC:开启此参数使用parallel scavenge & parallel old搜集器(server模式默认值)。
UseParallelOldGC:开启此参数在年老代使用parallel old搜集器(该参数在JDK1.5之后已无用)。
JVM参数说明
xms 堆的初始值大小
xmx 堆的最大值
xmn yong 区的大小
XX:NewRatio 新生代和老年代的比例
XX:NewSize 新生代的大小
XX:SurvivorRation Eden区域SurvivorRation区的比例
XX:PermSize 初始永久代 大小
XX:MaxPermSize 永久代空间最大值
XX:ParallelGCThreads java在parallel回收的时候可以设置同时并行处理的线程数 果你没有设置该参数,该参数jvm会默认设置成online的cpu的核数
XX:MaxTenuringThreshold 用于控制对象最多经历多少次Minor GC才晋升到old区
XX:+UseConcMarkSweepGC 使用cms 垃圾回收器
XX: DisableExplicitGC 禁用 system.gc() 的操作
XX: UseCMSInitiatingOccupancyOnly
CMS会根据历史记录,预测老年代还需要多久填满及进行一次回收所需要的时间。在老年代空间用完之前,CMS可以根据自己的预测自动执行垃圾回收。这个特性可以使用参数UseCMSInitiatingOccupancyOnly来关闭。
XX:+ScavengeBeforeFullGC 在Full GC前触发一次Minor GC
XX:+CMSScavengeBeforeRemark
在执行CMS remark之前进行一次youngGC,这样能有效降低remark的时间
XX:+CMSParallelInitialMarkEnabled
开启cms初始标记过程中的并行化,进一步提升初始化标记效率
XX:+CMSParallelRemarkEnabled
在重新标记之前对年轻代做一次minor GC,这样yong gen中剩余待标记的对象数量相比gc之前势必下降很多
XX:CMSInitiatingOccupancyFraction=70
该值代表老年代堆空间的使用率。比如,value=75意味着第一次CMS垃圾收集会在老年代被占用75%时被触发
XX:+CMSClassUnloadingEnabled
这个参数表示在使用CMS垃圾回收机制的时候是否启用类卸载功能。默认这个是设置为不启用的,所以你想启用这个功能你需要在Java参数中明确的设置,如果你启用了CMSClassUnloadingEnabled ,垃圾回收会清理持久代,移除不再使用的classes。这个参数只有在[UseConcMarkSweepGC]也启用的情况下才有用
XX:SoftRefLRUPolicyMSPerMB
堆空闲空间中SoftReference的存活时间 默认是1s 可以设置为0
-XX:-ReduceInitialCardMarks
这个是为了解决 jdk 6u18 放入大对象导致 jvm crash bug 的一个配置参数
-XX:+ExplicitGCInvokesConcurrent
命令JVM无论什么时候调用系统GC,都执行CMS GC,而不是Full GC
XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses
保证当有系统GC调用时,永久代也被包括进CMS垃圾回收的范围内
XX:+PrintGCDateStamps
输出GC的时间戳(以日期的形式,如 2013-05-04T21:53:59.234+0800)
-XX:+PrintGC 输出GC日志
-Xloggc:../logs/gc.log 日志文件的输出路径
XX:+PrintGCApplicationStoppedTime
GC日志中打印”stop-the-world”(STW)暂停时间
-XX:+PrintSafepointStatistics
-XX:PrintSafepointStatisticsCount=1
打印安全点信息,获取更多stw的原因
-XX:+PrintTenuringDistribution
每次minor GC后新的存活周期的阈值
网友评论