Java 远程JVM的JVisualVM CPU评测
当我通过JMX将JVisualVM连接到远程JVM时,我看到的是“Sampler”选项卡,而不是“Profiler”选项卡。我知道采样和分析是有区别的。我对评测(特别是CPU评测)更感兴趣Java 远程JVM的JVisualVM CPU评测,java,jvm,jvisualvm,code-profiling,Java,Jvm,Jvisualvm,Code Profiling,当我通过JMX将JVisualVM连接到远程JVM时,我看到的是“Sampler”选项卡,而不是“Profiler”选项卡。我知道采样和分析是有区别的。我对评测(特别是CPU评测)更感兴趣 JVisualVM中是否首先为远程JVM提供了“探查器”?如果是,请提及特定的JVM启动标志。如果没有,有什么替代方案?请理解,我无法登录到远程主机 VisualVM不支持远程评测,您可以在其: 事实上,如果您希望找到CPU消耗瓶颈,那么采样是集成分析器的一个很好的替代品 哪种工具更好取决于您的需求,但是关于
JVisualVM中是否首先为远程JVM提供了“探查器”?如果是,请提及特定的JVM启动标志。如果没有,有什么替代方案?请理解,我无法登录到远程主机 VisualVM不支持远程评测,您可以在其: 事实上,如果您希望找到CPU消耗瓶颈,那么采样是集成分析器的一个很好的替代品
哪种工具更好取决于您的需求,但是关于工具的讨论超出了这个问题的范围,并且与堆栈溢出无关。感谢您提供精确的代码参考。这就是为什么我希望分析而不是采样。@实际上,采样通常比检测分析器更准确,因为它不会修改您运行的代码,并且运行时开销非常小。然而,包括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;
...