G1垃圾收集器中重要的配置参数及其默认值

-XX:MaxGCPauseMillis

期望的最大GC暂停时间,默认为:200ms。

注意:G1的默认策略是期望在吞吐量与延迟之间保持平衡,所以如果你希望获得较高的吞吐量,那么可以通过减少GC暂停的频率来实现,而减少GC暂停频率的主要方式就是增加最大GC暂停时间。

-XX:GCPauseTimeInterval

最大暂停时间间隔的目标。

默认情况下,G1不设置任何目标,允许G1在极端情况下连续执行垃圾回收。

-XX:ParallelGCThreads

垃圾收集暂停期间用于并行工作的最大线程数。

默认根据运行JVM计算机的可用线程数决定,计算方式:当进程可用的CPU线程数小于等于8时,则直接使用该数,否则,将设置为:8 + (n - 8) * (5/8)

在每次暂停时,使用的最大线程数还需要考虑最大堆的限制,即参数:-XX:HeapSizePerGCThread

-XX:ConcGCThreads

用于并发工作的最大线程数,默认情况下,此值为:-XX:ParallelGCThreads除以4。

如果你想要能够更快的完成并发标记,则可以适当增加并发标记的线程数量。

-XX:+G1UseAdaptiveIHOP

使用自适应IHOP。

Initiating Heap Occupancy Percent(触发并发启动收集的阈值),G1通过观察标记需要多长时间以及标记周期期间通常在老年代分配多少内存来自动确定最佳IHOP,此功能称为自适应IHOP。

如果此功能开启,则G1将使用-XX:InitiatingHeapOccupancyPercent=45的值做为并发启动收集的阈值。

如果G1没有很好的预测出,触发并发标记的老年代占用率,则建议禁用:-XX:-G1UseAdaptiveIHOP,并自行调整-XX:InitiatingHeapOccupancyPercent的阈值。

-XX:G1HeapRegionSize

G1划分出的每一个Region的大小。

默认会根据最大堆的大小,按照划分出2048个region来计算出每个region的大小,根据人体工程学确定的最大值为32M,用户可自定义的范围是1~512M,且必须是2的幂。

-XX:G1NewSizePercent、-XX:G1MaxNewSizePercent

新生代占堆内存的大小,初始为-XX:G1NewSizePercent设置的值,默认为:5%,G1会根据满足暂停时间的值而对占比进行调整,但最大不会超过-XX:G1MaxNewSizePercent设置的值,默认为:60%。

-XX:G1HeapWastePercent

为了更有效的进行垃圾回收,G1会从Collection Set中选择释放一些对内存空间增益更大的region,其中有一项参考就是可回收空间要大于XX:G1HeapWastePercent设置的值,默认为:5%,表示占当前堆空间的5%。

-XX:G1MixedGCCountTarget

在混合回收阶段,G1期望能够最大化的的进行回收,但同时还需要考虑XX:MaxGCPauseTimeMillis,因此通常会把一次大的混合回收,拆分为多次,这个次数就由XX:G1MixedGCCountTarget决定,默认为:8次,这样就减少了每一次混合回收的暂停时间,以达到XX:MaxGCPauseTimeMillis的目标值。

-XX:G1MixedGCLiveThresholdPercent

在混合回收阶段,会避免回收那些需要大量时间来处理的region,那么如果鉴定是否需要大量时间来处理呢?那么在大多数情况下,占用率高的region就需要耗费更多的时间来处理,XX:G1MixedGCLiveThresholdPercent就是设置的存活对象占用率的阈值,默认为:85%,也就是如果一个region中的存活对象占比达到此re-XX:GCPauseTimeInterval= <尔格>gion的85%,那么就不会回收这个region。

注意:以下三个参数,默认情况下都是根据环境以符合人体工程学的方式确定的

-XX:GCPauseTimeInterval
-XX:ParallelGCThreads
-XX:ConcGCThreads

人体工程学:人机工程学是 Java 虚拟机 (JVM) 和垃圾收集启发式(例如基于行为的启发式)提高应用程序性能的过程。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码拉松

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值