1

全部,

我有一个远程服务器,我最近启用了 VNC 以使用 vnc4server 和 Chicken for mac 作为客户端。

这样做的目的是启用运行 Java 的 Jconsole 来监视运行我的服务器逻辑的可执行 jar 文件。

但是,在使用 VNC 登录到我的服务器后,当我尝试在 vnc 上使用 Jconsole 时,我不断收到错误消息。

它表示连接失败您要再试一次。现在我以启动该过程的同一用户身份登录。

在 VNC 中使用 jconsole 时我缺少什么吗?我还可以在本地机器上使用 Jconsole 远程监控我的可执行 jar 文件吗?

这些是我运行 jar 文件所包含的选项: java -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9005 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun .management.remote.ssl=false -Djava.rmi.server.hostname= ipaddress -jar路径

谢谢


这些 JVM 选项修复了一些问题。在这里找到修复:您需要传递给 VM:-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false

https://forums.oracle.com/thread/1177644

4

1 回答 1

1

这似乎不是 VNC 问题 - 端口未打开,它们被防火墙阻止,或者应用程序本身存在某种与监控相关的权限/身份验证问题。

为了消除 VNC 作为原因(并在 jconsole 上的本地连接中使用 localhost),请执行“ssh -X REMOTHOST -n jconsole”并查看。这也将消除运行完整 X 服务器和 VNC 的开销。

同样在 linux 上,您可以通过以下操作找出哪个进程保持端口打开:netstat -ap | 在要运行的远程主机上 grep PORT_NUMBER。

科林

于 2013-08-18T05:16:41.100 回答