Jconsole无法连接

16

我使用VNC连接服务器。我可以成功连接到服务器,并打开Jconsole,但无法连接到我的进程,无论是在包括PID还是尝试使用GUI连接时都是如此。奇怪的是所有进程都显示在GUI中。见下图。

图片描述

当我尝试连接时,出现以下信息:

图片描述

然后是:

图片描述

是否需要采取一些步骤才能在Linux服务器上通过VNC本地使用Jconsole?


你所需要做的与坐在物理键盘前所做的并没有什么不同。 ts_watchdog 程序是否禁止虚拟机管理? - chrylis -cautiouslyoptimistic-
我使用 nohup java -jar [路径] & 将相同的可执行 Jar 文件作为服务运行。然后,我运行 jconsole PID 并连接成功。如果有区别的话,我的笔记本电脑是 Mac,服务器是 Ubuntu。 - ControlAltDelete
5个回答

23

发现解决方法在这里:您需要传递给VM:

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false

-- 编辑 - 已修复评论中提到的=fals错误。


在行末不是“fals”,而是“false”。但没关系!谢谢! - voodoo98

17

在我的情况下,我也不得不添加这个选项才能使Jconsole连接到该进程。

-Djava.rmi.server.hostname=localhost


我猜这也需要在MAC上完成。 - Valath
1
是的,这对我解决了问题,我正在从Mac终端运行jconsole。 - Patrick_870206

5

远程JConsole

将以下参数添加到您的Java应用程序中并运行它。

-Djava.rmi.server.hostname=DOMAIN_PUBLIC_URL  -Dcom.sun.management.jmxremote.port=PORTNUMBER -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

DOMAIN_PUBLIC_URL - 就像您的实例公共地址

PORTNUMBER - 9955

从终端命令在您的Ubuntu上启动jconsole,并转到远程连接。粘贴DOMAIN_PUBLIC_URLPORT,然后连接它。不需要用户名和密码,就像不安全的连接。

确保在您的AWS服务器实例上公开端口号。


2
在我的情况下,我需要将其设置为false,并将主机名添加到localhost。将此添加到运行配置的VM参数中。

-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false -Djava.rmi.server.hostname=localhost

enter image description here


1
在运行配置中的VM参数下添加以下属性 --> 参数--
-Dcom.sun.management.jmxremote=true

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接