虽然可以使用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/etc/sysconfig/network:
192.168.5.29 bogon
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
NETWORKING=yes
HOSTNAME=bogon
GATEWAY=192.168.5.254
此时CentOS中的设置已经完成
直接在监控机上打开$JAVA_HOME/bin文件夹,找到并打开jconsole.exe,输入监控服务器的IP:PORT开始监控
记得要把服务器防火墙关掉.