为什么 java.ci.totalTime 比 sun.rt.safepointTime 大(JVM PerfCounters)?

Why java.ci.totalTime bigger then sun.rt.safepointTime (JVM PerfCounters)?

我正在使用 JVM 的 PerfCounters,但不明白为什么 java.ci.totalTime 比 sun.rt.safepointTime 大。

例如当:
我这样计算 total_GC_time sun.gc.collector.0.time + sun.gc.collector.1.time = total_GC_time。 这个total_GC_time总是少sun.rt.safepointTime,没关系


但我不明白为什么 java.ci.totalTime 比 sun.rt.safepointTime 大?

可能是java.ci.totalTime它是后台操作,不会产生 jvm 暂停(安全点)

那么如何理解 JIT 在 SafePoint 暂停中需要多长时间?

这些是完全不相关的事情。

java.ci.totalTime 是 JIT 编译花费的总时间。这与安全点无关。 JIT 编译器在后台工作,而应用程序线程 运行.