JVMJVM

JVM学习13·GC日志

2022-01-27  本文已影响0人  那钱有着落吗
image.png

1.GC 常用参数

2.Parallel 常用参数

-XX:SurvivorRatio 设置伊甸园空间大小与幸存者空间大小之间的比率。默认情况下,此选项设置为 8


-XX:PreTenureSizeThreshold 大对象到底多大,大于这个值的参数直接在老年代分配

-XX:MaxTenuringThreshold 升代年龄,最大值 15, 并行(吞吐量)收集器的默认值为 15,而 CMS 收集器的默认值为 6。

-XX:+ParallelGCThreads  并行收集器的线程数,同样适用于 CMS,一般设为和 CPU 核数相同

-XX:+UseAdaptiveSizePolicy  自动选择各区大小比例


3.CMS 常用参数

-XX:+UseConcMarkSweepGC 启用 CMS 垃圾回收器
-XX:+ParallelGCThreads  并行收集器的线程数,同样适用于 CMS,一般设为和 CPU 核数相同

-XX:CMSInitiatingOccupancyFraction 使用多少比例的老年代后开始 CMS 收集,默认是 68%(近似值),如果频繁发生 SerialOld 卡顿,应该调小,(频繁 CMS 回收)

-XX:+UseCMSCompactAtFullCollection 在 FGC 时进行压缩

-XX:CMSFullGCsBeforeCompaction 多少次 FGC 之后进行压缩

-XX:+CMSClassUnloadingEnabled 使用并发标记扫描(CMS)垃圾收集器时,启用类卸载。默认情况下启用此选项。

-XX:CMSInitiatingPermOccupancyFraction 达到什么比例时进行 Perm 回收,JDK 8 中不推荐使用此选项,不能替代。

-XX:GCTimeRatio 设置 GC 时间占用程序运行时间的百分比(不推荐使用)

-XX:MaxGCPauseMillis 停顿时间,是一个建议时间,GC 会尝试用各种手段达到这个时间,比如减小年轻代


#4.G1 常用参数

-XX:+UseG1GC 启用CMS垃圾回收器

-XX:MaxGCPauseMillis 设置最大GC暂停时间的目标(以毫秒为单位)。这是一个软目标,并且 JVM 将尽最大的努力(G1 会尝试调整 Young 区的块数来)来实现它。默认情况下,没有最大暂停时间值。

-XX:GCPauseIntervalMillis GC的间隔时间

-XX:+G1HeapRegionSize 分区大小,建议逐渐增大该值,1,2,4,8,16,32 。随着size的增加,垃圾的存活时间更长,GC 间隔更长,但每次 GC 的时间也会更长

-XX:G1NewSizePercent 新生代最小比例,默认5%

-XX:G1MaxNewSizePercent 新生代最大比例,默认60%

-XX:GCTimeRatioGC 时间建议比例,G1会根据这个值调整堆空间

-XX:ConcGCThreads 线程数量

-XX:InitiatingHeapOccupancyPercent 启动 G1 的堆空间占用比例,根据整个堆的占用而触发并发 GC 周期

上一篇 下一篇

猜你喜欢

热点阅读