1. 描述
程序在开发过程中,有可能会发生CPU飙高、内存溢出等问题或系统在后期调优阶段,不可避免的要监控JVM情况,JDK自带的Jconsole监控工具,结合Tomcat使用非常方便,占用内存小,满足必要的监控项,还有不错的可视化界面,居家必备。
2. 方案
2.1 jconsole介绍
jconsole是JDK自带的工具,在JDK的bin下面有,本人系统的目录是:C:Program FilesJavajdk1.8.0_171in,进入目录双击:jconsole.exe,或者在cmd下执行都行,双击就会弹出下面的界面。
2.2 jconsole本地启动
本地一般是在IDE开发工具(idea、ecplise),直接选择”本地进程“,双击对应进程就行了,其中名称为启动JVM名称,pid是进程号,例如我选择的是:com.hbusy.Application,双击进入监控页面。
jconsole控制台包含6个页面,分别为:概览、内存、线程、类、VM概要、MBean
2.2.1 概览
2.2.2 内存页面,可以查看jvm不同区占用的内存。
2.2.3 线程
2.2.4 类
2.2.5 VM 概要
2.2.6 Mbean
2.3 jconsole远程访问
2.3.1 参数配置
本人远程服务器是linux+tomcat,需要在tomcat的apache-tomcat-8.0.53/bin的catalina.sh 增加参数配置
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=19107 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.0.11"
重点就两个参数:
(1) hostname设置为服务器ip地址;
(2) port访问端口号
2.3.2 jconsole远程访问
选择远程进程,然后输入访问地址:192.168.0.11:19107,进入后jconsol控制台后与本地访问控制台界面一样。