0

我正在尝试在 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
  • 心跳超时:12

但这对我不起作用。有人知道我做错了什么吗?

4

1 回答 1

0

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

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

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

于 2014-10-21T09:23:21.810 回答