远程jvisualvm会话不支持CPU和分析

yaw*_*awn 12 java jmx jvisualvm

在监视远程应用程序时(使用jstatd)我既不能分析也不能监视CPU消耗.堆监控(假设我不使用G1)有效.jvisualvm提供消息"此JVM不支持".在CPU图形窗口中.

我的设置中是否有任何遗漏?谷歌的结果很少.

本地环境(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)
Run Code Online (Sandbox Code Playgroud)

远程环境(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)
Run Code Online (Sandbox Code Playgroud)

本地监控按宣传方式工作.

rec*_*les 14

Visual VM不支持远程分析代码和分配.这很糟糕,但是如果你想启用CPU图,你可以通过启用JMX来实现

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=12345
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • 后续操作:1.6中的JMX默认启用安全性.对于开发,可能需要禁用安全性,请参阅http://java.sun.com/j2se/1.5.0/docs/guide/management/agent.html#no_security (2认同)