在Java Mission Control上自动检测远程运行Java进程

时间:2014-10-20 15:50:51

标签: java jmx jmc

我试图在Java Mission Control上发现远程运行进程。 因此,我使用以下属性来启动JVM:

-Dcom.sun.management.jmxremote.port=50099 \
-Dcom.sun.management.jmxremote.rmi.port=50099 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.autodiscovery=true \
-Dcom.sun.management.jdp.name=MyCluster/MyJVM Teste \
-Dcom.sun.management.jdp.address=224.0.23.178 \
-Dcom.sun.management.jdp.port=50099

在Java Mission Control中,JDP首选项设置为:

  • 要加入的多播组:224.0.23.178
  • 组播端口:50099
  • Heart Beat Timeout(s):12

但它不适合我。有人知道我做错了吗?

1 个答案:

答案 0 :(得分:0)

我猜你可能已经读过http://hirt.se/blog/?p=388 Marcus提到TTL,并参考命令行参考(我目前找不到,会尝试找到它...), 但我相信sysprop会是: -Dcom.sun.management.jdp.ttl =(默认为1)

如果您知道您的客户端和服务器位于不同的子网上,则可能值得设置更高的值。 (这要求路由器启用多播)

我不确定为JDP和JMX使用相同的端口是个好主意(它可能有用,我只是不知道......)。这也值得改变。