这几天线上出现了一些 JVM 相关的问题,打算用 JMC(Java Mission Control) 连接远程 JVM 来分析一下,远程 JVM 配置好了参数如下
...其他参数... -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=26671 -XX:+UnlockCommercialFeatures -XX:+FlightRecorder ...其他参数...
本以为用本地的 JMC 连接就好了,结果连接时爆出 ...jmc Could not connect to...
异常,试了下 telnet ip 端口
正常连同,那么应当不是物理网络连通性的问题,后来 Google 了一下,发现,如果是要连接远程 JVM 是要在远程 JVM 上明确指定 JMX 绑定的 host 的,加上了如下参数
-Djava.rmi.server.hostname=<远程JVM主机IP>
就可以正常连通了。