![](https://csdnimg.cn/release/download_crawler_static/87731552/bg3.jpg)
7、 -XX:MaxTenuringThreshold,从年轻代到老年代,最大晋升年龄。CMS 下默认为 6,
G1 下默认为 15
8、 -XX:MetaspaceSize,设置元空间的大小,第一次超过将触发 GC
9、 -XX:MaxMetaspaceSize,元空间最大值
10、 -XX:MaxDirectMemorySize,用于设置直接内存的最大值,限制通过
DirectByteBuffer 申请的内存
11、 -XX:ReservedCodeCacheSize,用于设置 JIT 编译后的代码存放区大小,如果观察到
这个值有限制,可以适当调大,一般够用即可
设置垃圾收集相关
1、 -XX:+UseSerialGC,设置串行收集器
2、 -XX:+UseParallelGC,设置并行收集器
3、 -XX:+UseConcMarkSweepGC,使用 CMS 收集器
4、 -XX:ParallelGCThreads,设置 Parallel GC 的线程数
5、 -XX:MaxGCPauseMillis,GC 最大暂停时间 ms
6、 -XX:+UseG1GC,使用 G1 垃圾收集器
CMS 垃圾回收器相关
1、 -XX:+UseCMSInitiatingOccupancyOnly
2、 -XX:CMSInitiatingOccupancyFraction,与前者配合使用,指定 MajorGC 的发生时机
3、 -XX:+ExplicitGCInvokesConcurrent,代码调用 System.gc() 开始并行 FullGC,建
议加上这个参数
4、 -XX:+CMSScavengeBeforeRemark,表示开启或关闭在 CMS 重新标记阶段之前的清除
(YGC)尝试,它可以降低 remark 时间,建议加上
5、 -XX:+ParallelRefProcEnabled,可以用来并行处理 Reference,以加快处理速度,缩
短耗时
G1 垃圾回收器相关
1、 -XX:MaxGCPauseMillis,用于设置目标停顿时间,G1 会尽力达成
2、 -XX:G1HeapRegionSize,用于设置小堆区大小,建议保持默认
3、 -XX:InitiatingHeapOccupancyPercent,表示当整个堆内存使用达到一定比例(默认
是 45%),并发标记阶段就会被启动
4、 -XX:ConcGCThreads,表示并发垃圾收集器使用的线程数量,默认值随 JVM 运行的平台
不同而变动,不建议修改