java - 远程 jvisualvm session 不支持 CPU 和分析

标签 java jmx jvisualvm

当监控远程应用程序(使用 jstatd)时,我既不能分析也不能监控 CPU 消耗。堆监控(前提是我不使用 G1)有效。 jvisualvm 提供消息“此 JVM 不支持”。在 CPU 图形窗口中。

我的设置中是否缺少任何内容? Google 显示的结果很少。

本地环境(Mac OS X 10.6):

java version "1.6.0_15"
Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219)
Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode)

远程环境(Linux版本2.6.16.27-0.9-smp(gcc版本4.1.0(SUSE Linux))):

java version "1.6.0_16" Java(TM) SE
Runtime Environment (build
1.6.0_16-b01) Java HotSpot(TM) 64-Bit Server VM (build 14.2-b01, mixed mode)

本地监控如所宣传的那样工作。

最佳答案

Visual VM 不支持代码和分配的远程分析。这很糟糕,但是如果你想启用 CPU 图表,你可以通过启用 JMX 来做到这一点

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=12345

您可能还需要根据您的网络添加一些身份验证设置。 JMX 设置将为您提供 CPU 使用率、线程状态以及执行远程 jstack。

可在此处找到远程版本的功能列表: Visual VM features

编辑 获取最新版本的 visual vm 1.2.1 并下载 VisaulVM-Sampler。这将从 JMX 连接读取以显示分析信息。

关于java - 远程 jvisualvm session 不支持 CPU 和分析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1755819/

相关文章:

java - 由于线程交换而滞后

java - IntStream导致将数组元素错误地设置为0(JVM Bug,Java 11)

LinkedHashSet 迭代时出现 java.util.ConcurrentModificationException

java - 反转字符串而不影响特殊字符

jmx - 如何将 JMX 指标发送到 statsD 守护进程?

java - 如何从 JVisualVM 获取峰值内存使用情况快照?

java - 使用 Gradle 跨平台构建 JavaFX

java - JMX操作可以将接口(interface)作为参数吗?

java - 配置jmxremote时无法正常停止tomcat

performance - 在 jvisualvm 中获取方法执行时间的分割