使用VisualVM监控java进程
一、安装插件
工具—插件—设置,可以修改配置中心地址(默认不用改),对应版本在这里查看 https://visualvm.github.io/pluginscenters.html
工具—插件—可用插件,勾选VisualGC安装
二、JMX连接
在VisualVM中右键远程,添加远程主机,输入ip
在java的jvm配置中增加如下配置
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=10.20.64.123 -Dcom.sun.management.jmxremote.port=1099"
-Dcom.sun.management.jmxremote.authenticate=false 是否启用验证
-Dcom.sun.management.jmxremote.ssl=false 是否启用ssl
-Djava.rmi.server.hostname=119.23.250.83 指定远程主机的ip地址
-Dcom.sun.management.jmxremote.port=1099 指定连接的端口号
重启后在远程主机右键添加JMX连接,输入端口,就能看到除了VisualGC以外的内容,如果要看VisualGC需要建立jstatd连接
三、jstatd连接
在服务器jdk的bin文件里新建一个名为jstatd.all.policy的文件
grant codebase "file:${java.home}/../lib/tools.jar" { permission java.security.AllPermission; };
在bin目录中执行
./jstatd -J-Djava.rmi.server.hostname=10.20.64.123 -J-Djava.security.policy=jstatd.all.policy -p 1100
注:在结尾空一格加个"&"可以后台运行
在远程主机右键添加jstatd连接,输入端口,就能看到机器上的java程序信息,点开可以看到VisualGC信息
如果发现这种看不了cpu信息的话,可以再创建JMX连接,这样新建的JMX连接可以看到cpu信息和VisualGC信息了