JConsole/JvisualVM 远程连接失败处理

Posted 从精于一开始

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JConsole/JvisualVM 远程连接失败处理相关的知识,希望对你有一定的参考价值。

今天在使用JConsole进行远程连接时,发现IP和端口在Windows下是可以远程telnet的,但是,使用JConsole时却无法连接。

我的环境如下:

Windows下运行JConsole,准备远程连接Ubuntu 16.04下的一个测试的Java进程;

Ubuntu 16.04 运行了一个Java进程,其运行的参数如下:

java -Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false 进程名

于是,我直接在Windows下运行JvisualVM,然后输入ip+端口进行连接,收到了如下错误。

 

我的处理过程:

1. 检查linux的防火墙是否关闭;ufw status,如果是active的,运行 sudo ufw disable来禁用防火墙;

2. 检查在Windows下是否能够telnet 8999端口; 运行cmd,然后在cmd中敲入:telnet 192.168.197.136 8999,如下截图表示不通,这时请关闭Linux防火墙或者配置防火墙规则,打开8999端口;

 

3. 上述两步都完成以后(关闭防火墙,且能telnet 8999端口),如果还不能访问,就进行如下的操作,查看hostname -i 是不是当前服务器的IP地址,如果不是,跳到第四步;

4. 修改hostname对应的IP地址:sudo vi /etc/hosts,修改完之后,重新运行hostname -i,应该就是当前服务器的IP了。

 

至此,再次运行服务器上的java进程,通过JvisualVM的远程访问功能就能访问和监控Java进程的相关情况了。

 

以上是关于JConsole/JvisualVM 远程连接失败处理的主要内容,如果未能解决你的问题,请参考以下文章

jconsole,jvisualvm监控jvm配置方法

经验记录Jconsole Jvisualvm 监控Tomcat

JVM系列 实用命令(jmapjstatjstack)

SQLServer远程连接失败怎么办

云服务器远程连接不上,云服务器远程连接失败是啥原因?

windows远程连接MySQL失败