使用jdk自带的jconsole、jvisualvm插件,监控远程linux服务器中tomcat的jvm状况java
(jconsole、jvisualvm插件可查看堆内存变化状况,线程状态,CPU使用状况,分析线程死锁等,可监控本地和远程服务器的JVM,本地监控无须进行配置,下面是笔者实际操做的远程监控的配置步骤)linux
步骤:tomcat
一、修改linux服务器中tomcat目录的catalina.sh文件,配置远程服务的端口服务器
编辑tomcat的bin目录下的catalina.sh文件,在“# ----- Execute The Requested Command -------------”插入jvm
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"3d
,其中port=9999,可自行设置,注意添加一个未使用的端口便可
修改完成,保存文件
二、修改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文件进行受权
三、修改/etc/hosts文件,把127.0.0.1改为本机IP,如192.168.101.100
四、在本地的jdk目录下启动jconsole.exe进行链接
输入地址和端口,和用户名密码,其中端口为catalina.sh文件中配置的远程服务端口;用户名和口令为jmxremote.password文件中的帐号信息
链接可查看监控信息
五、同理可以使用jvisualvm.exe插件链接,监控
(备注:参考资料:《全栈性能测试修炼宝典JMeter实战》9.8 JVM监控)