2014-01-22 54 views
0

我有一个java程序在一个奇怪的情况下,它已经停止运行某个线程。使用jconsole连接到没有jmx参数的java进程

我想使用JMX连接到它,但我没有提供JMX参数。

我可以重新启动,但然后我会丢失当前情况的信息。

我知道,在Windows上,它可以在不带参数的localhost上与jconsole连接,但是我的java应用程序正在Linux服务器上运行。

因此,即使没有jmx参数仍然能够连接的任何想法?

+0

根据您的JDK版本,可以调用一个诊断命令,使您可以在正在运行的JVM上启动远程JMX代理。运行jcmd 帮助ManagementAgent.start查看如何使用它。 – Klara

回答

1

JConsole也适用于Linux。如果linux服务器具有xhost或某种远程显示功能,那么我只需在linux服务器上运行jconsole。

如果您在启动java程序时未启用JMX,则无法通过JMX进行远程连接。

0

我发现有倾倒线程的选项:

杀3

用它,找到了原因。

谢谢。