jmc(Java mission control)是JDK自带的一个图形界面监控工具,监控信息非常全面。他的安装目录在%JAVA_HOME%\bin\jmc.exe
下面讲一下我使用jmc监控远程tomcat的过程。
1. 服务端配置
服务器环境:Linux+tomcat7+jdk7
进入tomcat安装目录安装找到catalina.sh文件,在CATALINA_OPTS中增加一下配置:
-Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=115.29.206.6 -Dcom.sun.management.jmxremote.port=6666 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.managementote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder配置成功之后我的CATALINA_OPTS为:
CATALINA_OPTS="-Xms1024m -Xmx6144m -XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDetails -XX:+PrintGCDateStamps -Dspring.profiles.active=production -Xloggc:/data/logs/gc-`date +"%Y-%m-%d_%H%M%S"`.log -XX:MaxPermSize=1024M -Dcom.sun.management.jmxremote=true -Djava.rmi.server.hostname=115.29.206.6 -Dcom.sun.management.jmxremote.port=6666 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.managementote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -XX:+UnlockCommercialFeatures -XX:+FlightRecorder"
主要配置项说明:
-Djava.rmi.server.hostname=115.29.206.6 这个配置的值是远程tomcat服务器的外网ip。
-Dcom.sun.management.jmxremote.port=6666 这个是对外开放的端口,后面在配置客户端的时候需要用到这个。
2. 客户端配置
客户端环境:win7 + JDK8
打开%JAVA_HOME%\bin\jmc.exe
打开之后界面如下:
在左侧空白处右键点击新建连接,如图填写好主机和端口,这里的主机和端口就是我们前面在服务器配置的服务器IP和端口。
一下面步骤创建:
完成之后我们就能看到服务器的概要信息了。通过下面的tab页可以切换显示其他详细的信息。
并且可以启动飞行记录器,记录服务器一段时间内的运行状况,这个是查找服务器性能的利器。
飞行记录器记录成功之后可以看到下面的一些信息: