-XX:CMSInitiatingOccupancyFaction=92
这个参数是指在使用CMS收集器的情况下,老年代使用了指定阈值的内存时,出发FullGC.。如:
-XX:CMSInitiatingOccupancyFraction=80 ,CMS垃圾收集器,当老年代达到80%时,触发CMS垃圾回收。
-XX:+UseCMSCompactAtFullCollection
打开对年老代的压缩。可能会影响性能,但是可以消除碎片
-XX:CMSFullGCsBeforeCompaction=0
由于并发收集器不对内存空间进行压缩、整理,所以运行一段时间以后会产生"碎片",使得运行效率降低。此值设置运行多少次GC以后对内存空间进行压缩、整理。
-XX:+CMSParallelInitialMarkEnabled
初始标记主要是标记GC Roots可达的老年代对象以及新生代引用的老年代对象。这个过程在jdk1.7时是单线程执行,在1.8以后是多线程并发执行(可以通过参数CMSParallelInitialMarkEnabled调整)。初始标记会暂停工作线程(Stop The World)。
-XX:+CMSScavengeBeforeRemark
开启或关闭在CMS重新标记阶段之前的清除(YGC)尝试
CMS并发标记阶段与用户线程并发进行,此阶段会产生已经被标记了的对象又发生变化的情况,若打开此开关,可在一定程度上降低CMS重新标记阶段对上述“又发生变化”对象的扫描时间,当然,“清除尝试”也会消耗一些时间
注,开启此开关并不会保证在标记阶段前一定会进行清除操作
-XX:+DisableExplicitGC
禁用System.gc()
-XX:+PrintGCDetails
显示是否打印GC详细信息
-Xloggc:gc.log
把相关日志信息记录到文件以便分析
-XX:+HeapDumpOnOutOfMemoryError
在OOM的时候自动dump内存快照出来
-XX:HeapDumpPath=/usr/local/oom
把内存快照存放在哪里