可以远程连接JConsole但不能连接VisualVM

时间:2014-06-16 13:43:00

标签: jmx visualvm jconsole jvisualvm

我正在尝试配置远程Tomcat,我可以使用JConsole连接到它,但是使用VisualVM失败了。我用ssh设置了一个代理:

ssh -luser -D 9898 -Nf example.com

使用tomcat7.conf中的这些配置:

-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=3333 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Djava.rmi.server.hostname=example.com

使用此选项,JConsole可以完美运行,但VisualVM却没有。有什么我想念的吗?

1 个答案:

答案 0 :(得分:0)

晚了一年,但万一其他人可能觉得它有用。这对Java 7来说不是问题,但是我开始在Java 8中看到这个问题。自从我使用以下两个命令成功连接到jconsole和jvisualvm之后:

jconsole -J-DsocksProxyHost=localhost -J-DsocksProxyPort=<SOCKS_PORT> service:jmx:rmi:///jndi/rmi://<REMOTE_HOST:JMX_PORT>/jmxrmi
jvisualvm -J-DsocksProxyHost=localhost -J-DsocksProxyPort=<SOCKS_PORT> --openjmx <REMOTE_HOST>

在您的情况下,SOCKS_PORT为9898,JMX_PORT为3333.

相关问题