使用JConsole远程监控JVM

时间:2021-03-24 23:13:59

虽然可以使用LoadRunner编写脚本的方式并采用自定义数据项来监控JVM的内存消耗.但是终归还是第三方工具.所以这次采用JDK中自带的JConsole来监控JVM内存情况.

服务器环境:CentOS 6.2 + JDK1.6 + Tomcat6.0

首先在$TOMCAT_HOME/bin中找到Catalina.sh文件,在文件中加入:

JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"

 -Dcom.sun.management.jmxremote.port=1090远程监听端口.

 -Dcom.sun.management.jmxremote.ssl=false是否加密连接

 -Dcom.sun.management.jmxremote.authenticate=false是否密码访问

保存退出.

在设置完成之后需要重启Tomcat.此时可以采用netstat -an命令查看一下监听端口的状态.另外需要注意的是在修改完Catalina.sh文件之后,Tomcat可能会因为java.net.UnknownHostException而无法启动.此时需要修改/etc/hosts以及/etc/sysconfig/network文件.

/etc/hosts:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.5.29 bogon
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
/etc/sysconfig/network:

NETWORKING=yes
HOSTNAME=bogon
GATEWAY=192.168.5.254

此时CentOS中的设置已经完成

直接在监控机上打开$JAVA_HOME/bin文件夹,找到并打开jconsole.exe,输入监控服务器的IP:PORT开始监控

使用JConsole远程监控JVM

记得要把服务器防火墙关掉.