【发布时间】:2019-03-20 14:53:37
【问题描述】:
here 提出了类似的问题。
我正在使用我根据instructions 构建的 JMC 7.1.0 分析 Open JDK 11.0.2 应用程序。
应用程序使用了大约 3 个内核,没有过多的 gc,只有一小部分时间线程在执行实际使用 CPU 的本机方法调用。
我使用的是 10 毫秒的默认方法采样间隔。 我使用以下方法启用了在安全点之外调试元数据:
-XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints
采集的样本数量比我预期的要少得多。 保守地假设在每个采样点有 1 个运行非本机代码的 cpu 线程,我预计每秒 100 个样本。然而我只看到 1 个样本/秒。
机器本身通常空闲50%,所以采样线程不会被饿死。
是什么导致样本数量如此之低?
【问题讨论】: