Jvm G1 GC何时会触发IHOP之外的初始标记
我在JDK8中设置了-XX:InitiatingHeapOccupencyPercent=70(没有自适应IHOP特性),但是我发现当HeapOccupancPercent远远小于70%时,JVM启动的开始有两个初始标记阶段,是否还有其他因素会触发G1 GC初始标记阶段?提前谢谢 GC日志摘录: 2020-01-22T03:58:14.227+0000:3.158:[GC暂停(元数据GC阈值)(年轻)(初始标记),0.1583711秒] [伊甸园:1056.0M(81920.0M)->0.0B(81184.0M)幸存者:0.0B->736.0M堆:1472.0M(160.0G)->1179.5M(160.0G)] 2020-01-22T04:13:07.073+0000:896.004:[GC暂停(G1疏散暂停)(年轻)(初始标记),3.8512514秒] [伊甸园:81184.0M(81184.0M)->0.0B(71904.0M)幸存者:736.0M->10016.0M堆:83643.5M(160.0G)->11744.0M(160.0G)] JDK版本: openjdk版本“1.8.0_222” OpenJDK运行时环境(build 1.8.0_222-b10) OpenJDK 64位服务器虚拟机(构建25.222-b10,混合模式) 谢谢 ******更新2020/02/01 GC日志************ 2020-01-22T03:58:14.227+0000:3.158:[GC暂停(元数据GC阈值)(年轻)(初始标记),0.1583711秒] [平行时间:143.8 ms,GC工作人员:33]Jvm G1 GC何时会触发IHOP之外的初始标记,jvm,g1gc,Jvm,G1gc,我在JDK8中设置了-XX:InitiatingHeapOccupencyPercent=70(没有自适应IHOP特性),但是我发现当HeapOccupancPercent远远小于70%时,JVM启动的开始有两个初始标记阶段,是否还有其他因素会触发G1 GC初始标记阶段?提前谢谢 GC日志摘录: 2020-01-22T03:58:14.227+0000:3.158:[GC暂停(元数据GC阈值)(年轻)(初始标记),0.1583711秒] [伊甸园:1056.0M(81920.0M)->0.0B(
[GC Worker Start (ms): Min: 3158.7, Avg: 3159.4, Max: 3159.8, Diff: 1.1]
[Ext Root Scanning (ms): Min: 0.6, Avg: 1.1, Max: 2.7, Diff: 2.1, Sum: 35.9]
[Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
[Processed Buffers: Min: 0, Avg: 0.1, Max: 2, Diff: 2, Sum: 4]
[Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.2]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.3, Max: 5.9, Diff: 5.9, Sum: 8.5]
[Object Copy (ms): Min: 135.7, Avg: 141.1, Max: 141.5, Diff: 5.9, Sum: 4654.7]
[Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.7]
[Termination Attempts: Min: 1, Avg: 9.1, Max: 15, Diff: 14, Sum: 301]
[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.9]
[GC Worker Total (ms): Min: 142.0, Avg: 142.5, Max: 143.1, Diff: 1.1, Sum: 4701.0]
[GC Worker End (ms): Min: 3301.8, Avg: 3301.9, Max: 3301.9, Diff: 0.1]
[Queue Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Table Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.7, Diff: 0.7, Sum: 0.7]
[GC Worker Start (ms): Min: 896005.5, Avg: 896006.2, Max: 896006.6, Diff: 1.1]
[Ext Root Scanning (ms): Min: 4.3, Avg: 5.3, Max: 8.4, Diff: 4.1, Sum: 175.2]
[Update RS (ms): Min: 0.0, Avg: 0.2, Max: 0.8, Diff: 0.8, Sum: 7.6]
[Processed Buffers: Min: 0, Avg: 1.3, Max: 6, Diff: 6, Sum: 44]
[Scan RS (ms): Min: 2254.9, Avg: 2266.4, Max: 2268.2, Diff: 13.3, Sum: 74790.0]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.7, Max: 10.4, Diff: 10.4, Sum: 23.8]
[Object Copy (ms): Min: 1535.2, Avg: 1537.7, Max: 1548.1, Diff: 13.0, Sum: 50745.7]
[Termination (ms): Min: 0.0, Avg: 11.2, Max: 13.3, Diff: 13.2, Sum: 368.0]
[Termination Attempts: Min: 1, Avg: 2270.1, Max: 2464, Diff: 2463, Sum: 74914]
[GC Worker Other (ms): Min: 0.0, Avg: 0.2, Max: 0.5, Diff: 0.5, Sum: 8.1]
[GC Worker Total (ms): Min: 3821.2, Avg: 3821.8, Max: 3822.5, Diff: 1.3, Sum: 126118.4]
[GC Worker End (ms): Min: 899827.7, Avg: 899827.9, Max: 899828.2, Diff: 0.5]
[Queue Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Table Fixup (ms): Min: 0.0, Avg: 0.1, Max: 1.0, Diff: 1.0, Sum: 1.9]
[代码根修复:0.1毫秒]
[代码根清除:0.0毫秒]
[字符串重复数据消除修复:0.9毫秒,GC工作人员:33]
[GC Worker Start (ms): Min: 3158.7, Avg: 3159.4, Max: 3159.8, Diff: 1.1]
[Ext Root Scanning (ms): Min: 0.6, Avg: 1.1, Max: 2.7, Diff: 2.1, Sum: 35.9]
[Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
[Processed Buffers: Min: 0, Avg: 0.1, Max: 2, Diff: 2, Sum: 4]
[Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.2]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.3, Max: 5.9, Diff: 5.9, Sum: 8.5]
[Object Copy (ms): Min: 135.7, Avg: 141.1, Max: 141.5, Diff: 5.9, Sum: 4654.7]
[Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.7]
[Termination Attempts: Min: 1, Avg: 9.1, Max: 15, Diff: 14, Sum: 301]
[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.9]
[GC Worker Total (ms): Min: 142.0, Avg: 142.5, Max: 143.1, Diff: 1.1, Sum: 4701.0]
[GC Worker End (ms): Min: 3301.8, Avg: 3301.9, Max: 3301.9, Diff: 0.1]
[Queue Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Table Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.7, Diff: 0.7, Sum: 0.7]
[GC Worker Start (ms): Min: 896005.5, Avg: 896006.2, Max: 896006.6, Diff: 1.1]
[Ext Root Scanning (ms): Min: 4.3, Avg: 5.3, Max: 8.4, Diff: 4.1, Sum: 175.2]
[Update RS (ms): Min: 0.0, Avg: 0.2, Max: 0.8, Diff: 0.8, Sum: 7.6]
[Processed Buffers: Min: 0, Avg: 1.3, Max: 6, Diff: 6, Sum: 44]
[Scan RS (ms): Min: 2254.9, Avg: 2266.4, Max: 2268.2, Diff: 13.3, Sum: 74790.0]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.7, Max: 10.4, Diff: 10.4, Sum: 23.8]
[Object Copy (ms): Min: 1535.2, Avg: 1537.7, Max: 1548.1, Diff: 13.0, Sum: 50745.7]
[Termination (ms): Min: 0.0, Avg: 11.2, Max: 13.3, Diff: 13.2, Sum: 368.0]
[Termination Attempts: Min: 1, Avg: 2270.1, Max: 2464, Diff: 2463, Sum: 74914]
[GC Worker Other (ms): Min: 0.0, Avg: 0.2, Max: 0.5, Diff: 0.5, Sum: 8.1]
[GC Worker Total (ms): Min: 3821.2, Avg: 3821.8, Max: 3822.5, Diff: 1.3, Sum: 126118.4]
[GC Worker End (ms): Min: 899827.7, Avg: 899827.9, Max: 899828.2, Diff: 0.5]
[Queue Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Table Fixup (ms): Min: 0.0, Avg: 0.1, Max: 1.0, Diff: 1.0, Sum: 1.9]
[清晰CT:0.4毫秒]
[其他:13.1毫秒]
[Choose CSet: 0.0 ms]
[Ref Proc: 9.4 ms]
[Ref Enq: 0.9 ms]
[Redirty Cards: 0.6 ms]
[Humongous Register: 0.2 ms]
[Humongous Reclaim: 0.0 ms]
[Free CSet: 0.1 ms]
[伊甸园:1056.0M(81920.0M)->0.0B(81184.0M)幸存者:0.0B->736.0M堆:1472.0M(160.0G)->1179.5M(160.0G)]
[次数:user=1.77 sys=2.98,real=0.15秒]
2020-01-22T03:58:14.386+0000:3.316:[GC并发根区域扫描开始]
2020-01-22T03:58:14.458+0000:3.388:[GC并发标记开始]
2020-01-22T03:58:14.458+0000:3.388:[GC并发根区域扫描结束,0.0718879秒]
2020-01-22T03:58:14.485+0000:3.416:[GC备注2020-01-22T03:58:14.485+0000:3.416:[Finalize Marking,0.0011542 secs]2020-01-22T03:58:14.486+0000:3.417:[GC ref proc,0.0072547 secs]2020-01-22T03:58:14.494+0000:3.424:[卸货,0.0050159 secs],0.0151448 secs]
[次数:用户=0.19系统=0.02,实际=0.02秒]
2020-01-22T03:58:14.485+0000:3.415:[GC并发标记结束,0.0271495秒]
2020-01-22T03:58:14.500+0000:3.431:[GC清理1259M->1259M(160G),0.0033890秒]
[次数:用户=0.06系统=0.00,实际=0.00秒]
2020-01-22T04:13:07.073+0000:896.004:[GC暂停(G1疏散暂停)(年轻)(初始标记),3.8512514秒]
[并行时间:3822.9 ms,GC工作人员:33]
[GC Worker Start (ms): Min: 3158.7, Avg: 3159.4, Max: 3159.8, Diff: 1.1]
[Ext Root Scanning (ms): Min: 0.6, Avg: 1.1, Max: 2.7, Diff: 2.1, Sum: 35.9]
[Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
[Processed Buffers: Min: 0, Avg: 0.1, Max: 2, Diff: 2, Sum: 4]
[Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.2]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.3, Max: 5.9, Diff: 5.9, Sum: 8.5]
[Object Copy (ms): Min: 135.7, Avg: 141.1, Max: 141.5, Diff: 5.9, Sum: 4654.7]
[Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.7]
[Termination Attempts: Min: 1, Avg: 9.1, Max: 15, Diff: 14, Sum: 301]
[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.9]
[GC Worker Total (ms): Min: 142.0, Avg: 142.5, Max: 143.1, Diff: 1.1, Sum: 4701.0]
[GC Worker End (ms): Min: 3301.8, Avg: 3301.9, Max: 3301.9, Diff: 0.1]
[Queue Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Table Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.7, Diff: 0.7, Sum: 0.7]
[GC Worker Start (ms): Min: 896005.5, Avg: 896006.2, Max: 896006.6, Diff: 1.1]
[Ext Root Scanning (ms): Min: 4.3, Avg: 5.3, Max: 8.4, Diff: 4.1, Sum: 175.2]
[Update RS (ms): Min: 0.0, Avg: 0.2, Max: 0.8, Diff: 0.8, Sum: 7.6]
[Processed Buffers: Min: 0, Avg: 1.3, Max: 6, Diff: 6, Sum: 44]
[Scan RS (ms): Min: 2254.9, Avg: 2266.4, Max: 2268.2, Diff: 13.3, Sum: 74790.0]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.7, Max: 10.4, Diff: 10.4, Sum: 23.8]
[Object Copy (ms): Min: 1535.2, Avg: 1537.7, Max: 1548.1, Diff: 13.0, Sum: 50745.7]
[Termination (ms): Min: 0.0, Avg: 11.2, Max: 13.3, Diff: 13.2, Sum: 368.0]
[Termination Attempts: Min: 1, Avg: 2270.1, Max: 2464, Diff: 2463, Sum: 74914]
[GC Worker Other (ms): Min: 0.0, Avg: 0.2, Max: 0.5, Diff: 0.5, Sum: 8.1]
[GC Worker Total (ms): Min: 3821.2, Avg: 3821.8, Max: 3822.5, Diff: 1.3, Sum: 126118.4]
[GC Worker End (ms): Min: 899827.7, Avg: 899827.9, Max: 899828.2, Diff: 0.5]
[Queue Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Table Fixup (ms): Min: 0.0, Avg: 0.1, Max: 1.0, Diff: 1.0, Sum: 1.9]
[代码根修复:0.5毫秒]
[代码根清除:0.1毫秒]
[字符串重复数据消除修复:1.1毫秒,GC工作人员:33]
[GC Worker Start (ms): Min: 3158.7, Avg: 3159.4, Max: 3159.8, Diff: 1.1]
[Ext Root Scanning (ms): Min: 0.6, Avg: 1.1, Max: 2.7, Diff: 2.1, Sum: 35.9]
[Update RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.1]
[Processed Buffers: Min: 0, Avg: 0.1, Max: 2, Diff: 2, Sum: 4]
[Scan RS (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.2]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.3, Max: 5.9, Diff: 5.9, Sum: 8.5]
[Object Copy (ms): Min: 135.7, Avg: 141.1, Max: 141.5, Diff: 5.9, Sum: 4654.7]
[Termination (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.7]
[Termination Attempts: Min: 1, Avg: 9.1, Max: 15, Diff: 14, Sum: 301]
[GC Worker Other (ms): Min: 0.0, Avg: 0.0, Max: 0.1, Diff: 0.1, Sum: 0.9]
[GC Worker Total (ms): Min: 142.0, Avg: 142.5, Max: 143.1, Diff: 1.1, Sum: 4701.0]
[GC Worker End (ms): Min: 3301.8, Avg: 3301.9, Max: 3301.9, Diff: 0.1]
[Queue Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Table Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.7, Diff: 0.7, Sum: 0.7]
[GC Worker Start (ms): Min: 896005.5, Avg: 896006.2, Max: 896006.6, Diff: 1.1]
[Ext Root Scanning (ms): Min: 4.3, Avg: 5.3, Max: 8.4, Diff: 4.1, Sum: 175.2]
[Update RS (ms): Min: 0.0, Avg: 0.2, Max: 0.8, Diff: 0.8, Sum: 7.6]
[Processed Buffers: Min: 0, Avg: 1.3, Max: 6, Diff: 6, Sum: 44]
[Scan RS (ms): Min: 2254.9, Avg: 2266.4, Max: 2268.2, Diff: 13.3, Sum: 74790.0]
[Code Root Scanning (ms): Min: 0.0, Avg: 0.7, Max: 10.4, Diff: 10.4, Sum: 23.8]
[Object Copy (ms): Min: 1535.2, Avg: 1537.7, Max: 1548.1, Diff: 13.0, Sum: 50745.7]
[Termination (ms): Min: 0.0, Avg: 11.2, Max: 13.3, Diff: 13.2, Sum: 368.0]
[Termination Attempts: Min: 1, Avg: 2270.1, Max: 2464, Diff: 2463, Sum: 74914]
[GC Worker Other (ms): Min: 0.0, Avg: 0.2, Max: 0.5, Diff: 0.5, Sum: 8.1]
[GC Worker Total (ms): Min: 3821.2, Avg: 3821.8, Max: 3822.5, Diff: 1.3, Sum: 126118.4]
[GC Worker End (ms): Min: 899827.7, Avg: 899827.9, Max: 899828.2, Diff: 0.5]
[Queue Fixup (ms): Min: 0.0, Avg: 0.0, Max: 0.0, Diff: 0.0, Sum: 0.0]
[Table Fixup (ms): Min: 0.0, Avg: 0.1, Max: 1.0, Diff: 1.0, Sum: 1.9]
[清晰CT:4.7毫秒]
[其他:21.9毫秒]
[Choose CSet: 0.0 ms]
[Ref Proc: 8.5 ms]
[Ref Enq: 0.9 ms]
[Redirty Cards: 4.1 ms]
[Humongous Register: 0.2 ms]
[Humongous Reclaim: 0.0 ms]
[Free CSet: 6.2 ms]
[伊甸园:81184.0M(81184.0M)->0.0B(71904.0M)幸存者:736.0M->10016.0M堆:83643.5M(160.0G)->11744.0M(160.0G)]
[次数:user=50.77 sys=10.33,real=3.85秒]
其中一个是显而易见的,它与元空间有关。我的意思是,当触发一个完整的GC时,初始阶段是
mark
我知道还有3种情况会触发标记阶段(如下所示):
1) IHOP is reached
2) G1ReservePercent is reached
3) a humongous allocation happens
标记阶段后发生的情况取决于几个参数,例如mixed GCs
将取决于G1HeapWastePercent
参数;但无论如何,标记阶段后将触发年轻GC
第一点是一个巨大的分配是一个并发周期,您可以分析它是否以及何时这样做
第二点(来自您的评论):我的意思是,一般来说,这是触发并发标记阶段的原因,而不是针对您的具体案例
但让我们看看您的日志(我稍微格式化了它):
这说明了一些事情。您的伊甸园是80GB
,70GB
,其中有死物。因此,Eden
减少到71904.0M
,Survivor
变大到10016 M
。因为您已经设置了InitiatingHeapOccupencyPercent=70
,所以当Eden那么大时,这种情况永远不会发生,这个值永远不会达到70%。想一想,你会说:“当我占老一代总堆的70%时,开始一个标记阶段”;但你的伊甸园占了50%。。。这只是一个小小的观察
至于触发的原因-这是显而易见的:您的伊甸园已满(81184.0M(81184.0M)
)。至于为什么初始标记也?它总是作为年轻收藏的一部分触发
第三点
我不太明白你的意思。日志中明确指出,initial mark
,这是一个STW事件
,它做了一个young GC
感谢尤金的评论!关于3)发生大量分配,我有不同的想法。分配了许多巨大的反对意见(50+),但它不会触发如此多的初始标记。关于2)达到保留百分比,我也有不同的想法。在JVM启动之初,最大使用的堆是80G(总堆是160G),gc日志中没有到空间溢出。关于“我的意思是当触发完整gc时,初始阶段是mark”,我认为这是并发标记周期,而不是完整gc。我的假设是基于gc原因“[gc暂停(元数据gc阈值)(年轻)(初始标记)”,请随时告诉我是否有任何不同的想法,谢谢!谢谢您的评论,关于“第三点”,您提到“发生了大量分配”将触发标记阶段。我不认为是这样,这是我的观点,希望它澄清。Thx!@RoyZhang你不认为你的情况是这样的,对吗?意思是你不认为你提交的日志(包含(G1疏散暂停)(年轻)(initia