You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java G1 GC Concurrent Mark日志条目含义及耗时类型咨询

[info ][gc,marking ] GC(132605) Concurrent Mark (728435.456s, 728445.080s) 9624.269ms

问题1解答

  • G1垃圾回收器的Concurrent Mark(并发标记)阶段确实是完全并发执行的,整个阶段不会触发全局STW停顿,GC标记线程会和应用业务线程并行运行。
    G1完整的标记周期中,只有初始标记(Initial Mark,通常和年轻代GC的STW停顿绑定)、最终标记(Remark,需要短暂STW处理标记剩余的存活对象)两个阶段是停顿阶段,你提到的Concurrent Mark阶段耗时完全不属于应用停顿时间,不会直接阻塞业务请求的正常处理。

问题2解答

  • 日志中的9624.269ms是挂钟时间(Wall Clock Time),也就是从并发标记开始到结束的现实世界流逝时长。
    你可以通过日志中括号内的两个时间戳验证:两个数值是JVM启动以来的累计挂钟时间,差值计算为728445.080s - 728435.456s = 9.624024s,和日志记录的9624.269ms完全匹配(误差来自时间戳的小数位精度截断)。如果该数值是CPU时间,因为并发标记会启用多个GC线程并行执行,累加的CPU耗时会远大于挂钟时间,和当前日志数据不符。

内容的提问来源于stack exchange,提问作者Sean McCauliff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 02:42:00