使用Java VisualVM監控遠程JVM

我們經常需要對我們的開發的軟件做各種測試, 軟件對系統資源的使用情況更是不可少, 目前有多個監控工具, 相比JProfiler對系統資源尤其是內存的消耗是非常龐大,JDK1.6開始自帶的VisualVM就是不錯的監控工具.

這個工具就在JAVA_HOME\bin\目錄下的jvisualvm.exe, 雙擊這個文件就能看到一個比較直觀的界面

使用Java VisualVM監控遠程JVM - liuyb_94242 - 我的空間我做主

從左邊Applications樹中可以知道,不光可以監控本地JVM運行情況, 還可以監控遠程機器上的JVM運行情況.
本地監控:只要打開某個JAVA程序就會自動的加入到本地監控中.


因爲本地監控無需配置, 所以這裏主要介紹監控遠程JVM
要進行遠程監控, 本機的VisualVM就必須和遠程的JVM要進行通信, Visualvm目前支持兩種remote connection方式.
分別是jstatd和JMX方式: 這裏我主要介紹的是通過JMX方式.


通過JMX連接遠程機器, 需要經過下面的配置:
1. 修改遠程機器JDK配置文件 (我這裏遠程機器是linux).
   a.進入JAVA_HOME\jre\lib\management\目錄
   b.拷貝jmxremote.password.template這個文件到當前目錄, 並改名爲jmxremote.password
     c.打開jmxremote.password文件,去掉 # monitorRole  QED 和 # controlRole  R&D 這兩行前面的註釋符號


2. 修改遠程機器上需要被監控的程序的配置文件 (我這裏是監控Tomcat容器內部署的應用).
   a.進入TOMCAT_HOME\bin目錄
     b.打開catalina.sh文件,加入如下信息:
        JAVA_OPTS="$JAVA_OPTS -Djava.rmi.server.hostname=192.168.0.237
                                                     -Dcom.sun.management.jmxremote.port=18999
                                                     -Dcom.sun.management.jmxremote.ssl=false 
                                                     -Dcom.sun.management.jmxremote.authenticate=false"
   c.重啓Tomcat服務.


3. 客戶端VisualVM配置 (我客戶端用的是WinXP).
     a.直接反鍵點擊Remote,選擇Add Remote Host...
     b.在彈出的界面中輸入遠程機器的IP地址(192.168.0.237),這個IP地址會加入到Remote節點下.
     c.反鍵點擊這個IP地址,選擇Add JMX Connection, 在彈出的界面中輸入剛配置的端口號(18999), 這個連接會加入到該IP節點下.
     d.反鍵點擊這個連接,選擇Open.


此時就可以看到監控的界面, 從界面上我們可以看到CPU信息, 內存信息, 統計加載類數量,線程信息.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章