我正在尝试配置远程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却没有。有什么我想念的吗?
答案 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.