ZGC日志中MMU行数值含义解析(附JDK17日志示例)
ZGC日志中MMU行的含义解析
首先,MMU是Maximum Mutator Utilization(最大Mutator利用率)的缩写,Mutator指的是执行业务逻辑的应用程序线程。这行日志统计的是:在本次GC周期内,应用线程能获取的最大CPU时间占比,对应不同的GC最大停顿时间阈值。
每一组Xms/Y%的具体含义:
Xms:设定的GC最大可接受停顿时间阈值Y%:在该停顿阈值下,应用线程能够利用的CPU时间占比(即Mutator利用率)
针对你提供的日志行:
[gc,mmu ] GC(18939) MMU: 2ms/0.0%, 5ms/0.0%, 10ms/0.0%, 20ms/0.0%, 50ms/36.2%, 100ms/68.0%
逐个拆解说明:
2ms/0.0%:若要求GC停顿不超过2ms,应用线程的CPU利用率为0%,说明本次GC无法满足如此严苛的停顿要求5ms/0.0%:要求停顿不超过5ms时,应用线程CPU利用率同样为0%,无法满足该停顿要求10ms/0.0%:要求停顿不超过10ms时,应用线程CPU利用率0%,无法满足20ms/0.0%:要求停顿不超过20ms时,应用线程CPU利用率0%,无法满足50ms/36.2%:若允许GC最长停顿50ms,应用线程可利用36.2%的CPU时间100ms/68.0%:若允许GC最长停顿100ms,应用线程可利用68.0%的CPU时间
这组数据直观反映了ZGC在不同停顿时间要求下,能留给业务线程的CPU资源比例——停顿阈值越宽松,业务线程能获取的CPU时间占比越高。
内容的提问来源于stack exchange,提问作者Garrus
相关产品推荐
相关产品推荐

