开启JVM监控 java VisualVM
cmd中输入jvisualvm
打开的就是如下界面:
注意:不要关闭cmd窗口,关闭后java VisualVM程序会同步关闭。
如果是连接本地java服务直接在本地连接配置即可,本次主要是说明监控远程服务配置 。
为了更好的监控观察虚拟机的详细情况,我们需要安装一个插件,在工具栏的可用插件中安装Visual GC:(我这里已经安装好)
注意:如果看不到插件列表(报错),原因是插件中心的url和jdk的版本号不一致导致的:
我们可以通过cmd中 java -version 查看版本号,然后在这个网站https://visualvm.github.io/pluginscenters.html,查找到jdk版本相对应的url地址,更换工作栏:工具-》插件-》设置-》url地址。
如果url没问题的话,就可以看到插件列表了,正常安装Visual GC插件即可。
在远程右键:添加一个远程主机
在主机上右键添加JMX:
首先我们要在服务启动时加入启动参数开始远程监控:
JAVA_OPTS="-Djava.rmi.server.hostname=部署本机ip地址 -Dcom.sun.management.jmxremote.port=监听的端口 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
然后配置JMX连接即可
注意如果端口不通需要查看端口是否被墙
配置成功后,如果VisualGC面板显示:不受此jvm支持
需要在服务器中启动jstatd:
在服务器的/home/目录创建文件java.all.policy
编辑文件内容保存:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
并启动jstatd:
nohup jstatd -J-Djava.security.policy=/home/java.all.policy -J-Djava.rmi.server.hostname=服务器ip -p 监听端口默认1099 -J-Djava.rmi.server.logCalls=true > /tmp/jstatd.log 2>&1 &
telnet监听端口如果是通的,在主机右键添加jstatd配置就可以看到了