雖然可以使用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開始監控
記得要把服務器防火牆關掉.