jvisualvm连接远程服务器

jvisualvm除了可以查看本地JVM进程的情况,也可以查看远程服务器的JVM进程情况。但需要注意的是,生产环境不允许这么做,因为这会占用生产服务器的资源,可能对生产环境造成破坏性的影响,开放的端口,也可能有安全隐患,但开发环境或测试环境,我们是可以这么做的。

1、远程服务配置

首先,我们需要的启动参数中添加jmx的相关参数

java -Dcom.sun.management.jmxremote.port=8888 -Djava.rmi.server.hostname=192.168.74.132 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar mvc-test.jar

其中:
• Dcom.sun.management.jmxremote.port:远程机器的JMX端口
• Djava.rmi.server.hostname:远程机器的ip地址
这样,我们就可以在本地通过jvisualvm去观察远程服务器的情况了。

2、 jvisualvm连接远程服务

1、在本地打开jvisualvm
jvisualvm连接远程服务器_第1张图片
2、在jvisualvm中添加我们的远程主机
jvisualvm连接远程服务器_第2张图片
3、添加JMX连接
jvisualvm连接远程服务器_第3张图片
jvisualvm连接远程服务器_第4张图片
连接成功后的样子:
jvisualvm连接远程服务器_第5张图片

如果连接失败,可能是无法连接上远程服务器的端口,可以临时关闭防火墙

systemctl stop firewalld   #临时关闭防火墙

才外,如果你不确定远程服务启动参数是否开启了jmx,你可以通过jinfo -flags [pid]去看程序的启动参数:
jvisualvm连接远程服务器_第6张图片
当然,我们也可以使用ps -axu查看进程号
在这里插入图片描述

你可能感兴趣的:(JVM,服务器,linux,运维)