JVisualVM CPU 远程 JVM 分析
JVisualVM CPU Profiling for remote JVM
当我通过 JMX 将 JVisualVM 附加到远程 JVM 时,我看到 "Sampler" 选项卡而不是 "Profiler" 选项卡。我知道采样和分析之间存在差异。我对 Profiling 更感兴趣(特别是 CPU Profiling)。
"Profiler" 是否在 JVisualVM 中首先用于远程 JVM?如果是这样,请提及具体的 JVM 启动标志。如果它不可用,有哪些替代方案?请理解我无法登录到远程主机。
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 消耗瓶颈,采样 是 一个很好的替代分析器的工具。
哪个工具更好取决于你的要求,但是工具的讨论超出了这个问题的范围,并且在 Stack Overflow 上是题外话。
当我通过 JMX 将 JVisualVM 附加到远程 JVM 时,我看到 "Sampler" 选项卡而不是 "Profiler" 选项卡。我知道采样和分析之间存在差异。我对 Profiling 更感兴趣(特别是 CPU Profiling)。
"Profiler" 是否在 JVisualVM 中首先用于远程 JVM?如果是这样,请提及具体的 JVM 启动标志。如果它不可用,有哪些替代方案?请理解我无法登录到远程主机。
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 消耗瓶颈,采样 是 一个很好的替代分析器的工具。
哪个工具更好取决于你的要求,但是工具的讨论超出了这个问题的范围,并且在 Stack Overflow 上是题外话。