使用jdk自带的jconsole、jvisualvm插件,监控远程linux服务器中tomcat的jvm情况
(jconsole、jvisualvm插件可查看堆内存变化情况,线程状态,CPU使用情况,分析线程死锁等,可监控本地和远程服务器的JVM,本地监控无须进行配置,下面是笔者实际操作的远程监控的配置步骤)
步骤:
1、修改linux服务器中tomcat目录的catalina.sh文件,配置远程服务的端口
编辑tomcat的bin目录下的catalina.sh文件,在“# ----- Execute The Requested Command -------------”插入
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=9999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=true"
,其中port=9999,可自行设置,注意添加一个未使用的端口即可
修改完成,保存文件
2、修改linux服务器中jdk目录的配置文件
进入/java/jre1.8.0_77/lib/management目录,查看文件。
2.1 修改jmxremote.access文件,将文件最后两行显示【monitorRole和controlRole】的注释取消,其中monitorRole为只拥有只读权限的角色,controlRole有更高权限:读写等。编辑完成后,保存。
2.2 默认情况下该目录下不存在jmxremote.password 文件,我们可以将jmxremote.password.template文件复制出来一份再重命名即可,然后修改jmxremote.password文件。同样将文件最后两行显示【monitorRole和controlRole】的注释取消。然后保存。
2.3 对jmxremote.access和jmxremote.password文件进行授权
3、修改/etc/hosts文件,把127.0.0.1改成本机IP,如192.168.101.100
4、在本地的jdk目录下启动jconsole.exe进行连接
输入地址和端口,和用户名密码,其中端口为catalina.sh文件中配置的远程服务端口;用户名和口令为jmxremote.password文件中的账号信息
连接可查看监控信息
5、同理可使用jvisualvm.exe插件连接,监控
(备注:参考资料:《全栈性能测试修炼宝典JMeter实战》9.8 JVM监控)