2

当我通过 JMX 将 JVisualVM 附加到远程 JVM 时,我看到的是“Sampler”选项卡而不是“Profiler”选项卡。我知道采样和分析之间是有区别的。我对 Profiling(特别是 CPU Profiling)更感兴趣。

JVisualVM 中是否首先为远程 JVM 提供了“Profiler”?如果是这样,请提及特定的 JVM 启动标志。如果它不可用,有什么替代方案?请理解我无法登录远程主机。

4

1 回答 1

2

VisualVM 不支持远程分析,您可以在其源代码中找到:

    boolean supportsProfiling(Application application) {
        // Application already being profiled (Startup Profiler)
        if (application == getProfiledApplication()) return true;

        // Remote profiling is not supported
        if (application.getHost() != Host.LOCALHOST) return false;

        ...

事实上,如果您希望找到消耗 CPU 的瓶颈,采样一个很好的替代分析器的方法。

哪个工具更好取决于您的要求,但工具讨论超出了此问题的范围,并且不在 Stack Overflow 上。

于 2017-07-08T17:19:29.867 回答