我有一个java程序在一个奇怪的情况下,它已经停止运行某个线程。使用jconsole连接到没有jmx参数的java进程
我想使用JMX连接到它,但我没有提供JMX参数。
我可以重新启动,但然后我会丢失当前情况的信息。
我知道,在Windows上,它可以在不带参数的localhost上与jconsole连接,但是我的java应用程序正在Linux服务器上运行。
因此,即使没有jmx参数仍然能够连接的任何想法?
我有一个java程序在一个奇怪的情况下,它已经停止运行某个线程。使用jconsole连接到没有jmx参数的java进程
我想使用JMX连接到它,但我没有提供JMX参数。
我可以重新启动,但然后我会丢失当前情况的信息。
我知道,在Windows上,它可以在不带参数的localhost上与jconsole连接,但是我的java应用程序正在Linux服务器上运行。
因此,即使没有jmx参数仍然能够连接的任何想法?
JConsole也适用于Linux。如果linux服务器具有xhost或某种远程显示功能,那么我只需在linux服务器上运行jconsole。
如果您在启动java程序时未启用JMX,则无法通过JMX进行远程连接。
我发现有倾倒线程的选项:
杀3
用它,找到了原因。
谢谢。
根据您的JDK版本,可以调用一个诊断命令,使您可以在正在运行的JVM上启动远程JMX代理。运行jcmd帮助ManagementAgent.start查看如何使用它。 –
Klara