gpt4 book ai didi

java - 如何使用 VisualVM 和 JMX?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:58:33 25 4
gpt4 key购买 nike

我已经尝试了书中的所有食谱,但今天一切都行不通......

我正在尝试使用 VisualVM 来分析我在远程服务器上运行的 Java 应用程序,所以我用谷歌搜索了一遍又一遍,寻找执行此操作的方法,最终得到了这个解决方案:

java -Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9199 \
-Dcom.sun.management.jmxremote.local.only=false \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-jar bin/felix.jar

我猜运行它会让我运行 JMX,所以我可以看到他在 9199 上运行:

java      21947        root    9u  IPv6 1811434      0t0  TCP *:7192 (LISTEN)
java 26376 root 14u IPv6 1844518 0t0 TCP *:9199 (LISTEN)

此外,我可以测试该端口在网络上是否可见:

enter image description here

现在,当我尝试在我的机器中打开 VisualVM 中的连接(它也可以 ping jmx 服务器)时,会发生这种情况:

enter image description here

enter image description here

enter image description here

我一定是太笨了,这个世界上的每个人都能让这个东西运行,但我除外。该死的……

编辑: 我安装了 wireshark 以了解引擎盖下发生的事情,所以我看到了这个。只要我在 VisualVM 中添加远程 IP,wireshark 就会开始检测此重复 Activity :

enter image description here

但是,如果我尝试添加一个新的 JMX 连接并要求他连接,wireshark 甚至不会抓取该连接尝试的一个数据包。

enter image description here

在我看来,VisualVM 甚至没有尝试连接,尽管给出了错误消息“无法连接”...!!这到底是怎么回事?

最佳答案

使用这些选项启动您的服务:

-Djava.rmi.server.hostname=193.163.XXX.XXX
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9199
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

然后您可以使用 jvisualvm 或 jconsole,只需使用“193.163.XXX.XXX:9199”地址。

关于java - 如何使用 VisualVM 和 JMX?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30104142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com