我从OSX 10.10.2上运行的Java Mission Control访问Ubuntu服务器(14.04.1 LTS)上的JVM时遇到问题
我已经阅读了以下问题:How to use Java Mission Control to monitor a JVM in a remote server?,它对我没有帮助。
我尝试通过Internet访问服务器,并为路由器上的TCP和UDP端口7091启用了端口转发,指向服务器的本地接口。此端口转发可用于其他服务,因此我很确定这部分没有问题。
服务器上的Java版本为:
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
我像这样在服务器上启动JVM:
java -Xms2048M -Xmx4096M
-XX:+UnlockCommercialFeatures
-XX:+FlightRecorder
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=7091
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.registry.ssl=false
com.example.MyServer
-arg1 XXX
-arg2 YYY
-arg3 ZZZ
(我在不同的-Dcom.sun.management ...参数上玩了很多,这是最新的尝试)
在OSX上,我的Java版本是:
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
任务控制版本为5.3.0
我做
File - Connect - Create a new connection
enter Host: DNS name of remote router <I know this is correct>
Port: 7091
当我执行“测试连接”时,它会因错误而超时。
(我已经使用以下命令在服务器上打开了端口7091:“ sudo ufw allow 7091”。是否需要打开其他端口?)
如何进行???
最佳答案
设置-Djava.rmi.server.hostname =可能会有所帮助
您不需要显式设置-Dcom.sun.management.jmxremote.rmi.port = 7091,它的默认值应与com.sun.management.jmxremote.port相同,但只是为了确保您也可以进行设置...
关于java - 使用Java Mission Profiler监视远程JVM,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29239862/