在Linux中使用VisualVM进行远程监控,您需要按照以下步骤操作:
配置远程服务器
- 修改JDK中JMX服务的配置文件:
- 进入
$JAVA_HOME
所在的根目录的/jre/lib/management
子目录下。 - 将
jmxremote.password.template
文件复制为jmxremote.password
。 - 调整
jmxremote.access
和jmxremote.password
的权限为只读写,使用命令chmod 600 jmxremote.access jmxremote.password
。 - 打开
jmxremote.password
文件,去掉# monitorRole QED # controlRole R&D
这两行前面的注释符号。
- 修改env.sh:
- 打开
env.sh
文件,并在JVM的启动配置中添加如下信息:JAVA_OPTS="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=10.20.150.218"
。
配置VisualVM客户端
- 启动VisualVM客户端:
- 在Windows客户端,进入JDK的
bin
目录下,双击jvisualvm.exe
启动VisualVM。 - 在Linux客户端,同样进入JDK的
bin
目录下,运行./jvisualvm
启动VisualVM。
- 添加远程主机:
- 在VisualVM客户端中,点击左侧菜单的
Add Remote Host
,输入远程服务器的IP,然后在Advanced Settings
里配置端口(注意这个端口要和服务器上的端口一致)。 - 右击刚才配置的IP,选择
JMX connection
方式,再次输入端口,就可以监视到JVM资源了。
注意事项
- 确保远程服务器的防火墙允许访问JMX端口(默认为1099),如果需要,可以修改防火墙规则以允许访问。
- 如果远程服务器和客户端不在同一个网络段,需要使用公网IP地址进行连接。
- 如果使用SSL进行连接,需要在JMX服务端和客户端都进行相应的配置。
通过以上步骤,您应该能够在Linux中使用VisualVM成功进行远程监控。如果在配置过程中遇到任何问题,请检查网络连接、防火墙设置以及JMX服务的配置是否正确。