我正在尝试使用VisualVM配置远程JVM。我有一个远程生产的ubuntu机器,我的Java应用程序正在运行,这就是我需要分析的内容。我正在关注此tutorial来分析远程服务器。
我在我的ubuntu制作机器上启动了jstatd
-
root@productionMachineA:/home/david# /usr/lib/jvm/java-1.7.0-openjdk-amd64/bin/jstatd -J-Djava.security.policy=permissions.txt -J-Djava.rmi.server.hostname=100.41.76.19 -J-Djava.rmi.server.logCalls=true -J-Djava.net.preferIPv4Stack=true
这里100.41.76.19
是我的生产ubuntu机器的IP地址。在ubunut机器上启动jstatd
后,我做了 -
netstat -nlp | grep jstatd
我可以看到 -
root@productionMachineA:~$ netstat -nlp | grep jstatd
tcp 0 0 0.0.0.0:1099 0.0.0.0:* LISTEN 32103/jstatd
tcp 0 0 0.0.0.0:60707 0.0.0.0:* LISTEN 32103/jstatd
我认为jstatd
看起来运行正常。现在我在桌面上打开VisualVM
,右键单击Remote并选择Add Remote Host,然后输入生产machineA的IP地址。然后我不会在VisualVM上发现任何事情,这让我觉得有些事情是肯定的。
谁能告诉我什么是错的?我应该尝试什么?如果任何人都能按步骤提供我应该做的事情,那么它将会有很大的帮助。
更新: -
在我的远程连接上添加端口1099
之后。
我收到了这个错误。无法使用100.41.76.19
service:jmx:rmi.....
从我的本地桌面,我在1099端口的远程机器上尝试了telnet,这就是我得到的 -
david@localDesktop ~
$ telnet 100.41.76.19 1099
david@localDesktop ~
$