相关疑难解决方法(0)

为什么G1在启动InitiatingHeapOccupancyPercent时不会启动标记周期?

根据文件,XX:InitiatingHeapOccupancyPercent

设置触发标记周期的Java堆占用阈值.默认占用率是整个Java堆的45%.

在我目前的环境中,这种情况不会发生.

我的G1垃圾收集配置如下

-Xms25000m
-Xmx25000m
-XX:+UseG1GC
-XX:MaxGCPauseMillis=1000
-XX:GCTimeRatio=99
-XX:InitiatingHeapOccupancyPercent=70
-XX:MaxTenuringThreshold=8
-XX:+UnlockExperimentalVMOptions
-XX:G1MixedGCCountTarget=16
-XX:G1OldCSetRegionThresholdPercent=3
-XX:G1NewSizePercent=30
-XX:G1RSetUpdatingPauseTimePercent=5
Run Code Online (Sandbox Code Playgroud)

使用25g堆和XX:InitiatingHeapOccupancyPercent70%堆时,您会期望在18g被占用时开始标记周期.我正在拖尾垃圾收集日志,但这不会发生.

这是一个摘录:

{Heap before GC invocations=592 (full 0):
 garbage-first heap   total 25600000K, used 22802164K [0x00000001a5800000, 0x00000001a60061a8, 0x00000007c0000000)
  region size 8192K, 1526 young (12500992K), 25 survivors (204800K)
 Metaspace       used 37386K, capacity 37948K, committed 38144K, reserved 1083392K
  class space    used 3948K, capacity 4080K, committed 4096K, reserved 1048576K
2016-04-20T22:06:38.272+0000: 4213.406: [GC pause (GCLocker Initiated GC) (young)
Desired survivor size 801112064 bytes, new …
Run Code Online (Sandbox Code Playgroud)

java garbage-collection g1gc

11
推荐指数
1
解决办法
4537
查看次数

标签 统计

g1gc ×1

garbage-collection ×1

java ×1