远程JVM的JVisualVM CPU分析

时间:2017-07-07 14:16:36

标签: java jvm jvisualvm code-profiling

当我通过JMX将JVisualVM连接到远程JVM时,我看到“Sampler”选项卡而不是“Profiler”选项卡。我知道采样和分析之间存在差异。我对分析(特别是CPU分析)更感兴趣。

首先在JVisualVM中为远程JVM提供“Profiler”吗?如果是这样,请提及具体的JVM启动标志。如果它不可用,有哪些替代方案?请理解我无法登录远程主机。

1 个答案:

答案 0 :(得分:2)

VisualVM不支持远程分析,因为您可以在source code

中找到它
    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的瓶颈,那么 是一个很好的替代intrumenting profiler。

哪种工具更好取决于您的要求,但工具讨论超出了本问题的范围,并且在Stack Overflow上偏离主题。