CMS相关核心参数
1. -XX:+UseConcMarkSweepGC【启用CMS垃圾回收器】
2. -XX:ConcGCThreads【并发的GC线程数】
3. -XX:+UseCMSCompactAtFullCollection【FullGC之后做压缩整理,减少碎片】
4. -XX:CMSFullGCsBeforeCompaction【多少次FullGC之后压缩一次,默认0,代表每次FullGC之后都会压缩一次】
5. -XX:CMSInitiatingOccupancyFraction【当老年代使用达该比例时会出发FullGC,默认是92,这是百分比】
6. -XX:+UseCMSInitatingOccupancyOnly【只使用设定的回收阈值(-XX:CMSInitiatingOccupancyFraction设定的值),如果不指定,JVM仅在第一次使用设定值,后续会自动调整】
7. -XX:+CMSScavengeBeforeRemark【在CMS GC前启动一次minor gc,目的在于减少老年代的引用,降低CMS GC的标记阶段时的开销,一般CMS的GC耗时80%都在标记阶段】
8. -XX:+CMSParallelInitialMarkEnabled【表示在初始标记的时候多线程执行,缩短STW】
9. -XX:+CMSParallelRemarkEnabled【在重新标记的时候多线程执行,缩短STW】
在启动springboot的时候,指定GC
-XX:UseParNewGc
-XX:UseConcMarkSweepGc
-XX:+UseCMSCompactAtFullCollection
-XX:CMSFullGCsBeforeCompaction=3