Jconsole遠程監控tomcat 的JVM內存(linux、windows)


Jconsole是JDK自帶的監控工具,在JDK/bin目錄下可以找到。它用於連接正在運行的本地或者遠程的JVM,對運行在java應用程序的資源消耗和性能進行監控,並畫出大量的圖表,提供強大的可視化界面。而且本身占用的服務器內存很小,甚至可以說幾乎不消耗,不失為一款好工具。

-------------Jconsole監視遠程的linux服務器上的tomcat -----------------------------
環境:
服務器端: Linux + jdk1.60 + tomcat 7
客戶端: Windows + jdk1.6.0


1、linux服務器上的tomcat 的bin/catalina.sh文件,
在# OS specific support.  $var _must_ be set to either true or false. 這一行之后, 加入以下參數: 

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

  一般是這樣地:

1.JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" JAVA_OPTS=" -Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "   

  

2、 linux服務器 執行hostname -i 命令,如果顯示的是127.0.0.1,則需要修改/etc/hosts文件,否則jconsole無法鏈接。
# vi /etc/hosts,修改如下:
原值是: 127.0.0.1 localhost localhost.localdomain localhost
修改為: 服務器的真實IP地址 localhost localhost.localdomain localhost

3  linux服務器的防火牆,也要開相應端口.

4  客戶端:
           1. 打開cmd窗口,輸入jconsole
           2. 指定連接參數:
                   遠程主機: 服務器的真實IP地址
                   端口: 9008

5、補充:由於配置了上述文件,在停止tomcat的時,會由於上述配置的端口被占用而無法停掉。2種方式解決:
(1)使用killall -9 java 殺掉所有的java進程。
(2)在catalina.sh中配置CATALINA_PID=pid,這樣在停止tomcat的過程中,上述被占用的端口會自動被殺掉。

 

 

-----------------Jconsole監視遠程的Windows服務器上的tomcat -------------------------

修改服務器tomcat的bin/catalina.bat文件, 在以下行:
rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%

加入以下參數:

1.set JAVA_OPTS=-Dcom.sun.management.jmxremote.port=9008 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false  

注意添加的位置:

重啟服務器tomcat
打開cmd窗口,輸入jconsole,連接。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM