JMX 配置
远程机器的程序需要加上JVM参数
-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
备注:另外需要检查 hostname –i
,看解析出来是否为本地的IP,如是127.0.0.1或者IP为多个IP中之一,则其他的IP无效,会连接不上。
也可以使用如下的参数手动指定 hostname 或者 ip 地址
-Djava.rmi.server.hostname=192.168.0.1
然后就可以使用菜单中的 "Add JMX Connection",连接远程地址
jstatd 配置
在远程主机上,新建一个 jstatd.policy 文件,内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
然后在远程主机上启动 jstatd 并且不要关闭。
jstatd -J-Djava.security.policy=jstatd.policy -J-Djava.rmi.server.hostname=10.144.33.112
这样就可以在 JVisualVM 上,添加远程主机,并且设置 jstatd 的端口就可以了。
看不到visualGC,抽样器中也无法做内存抽样,
关于visualGC不支持观察这个问题,我试了下,可以通过在远程主机启动jstatd,之后在远程主机下会把所有应用都列出来
转载请注明:学时网 » JVisualVM 远程连接 JMX 和 jstatd