我們經常需要對我們的開發的軟件做各種測試, 軟件對系統資源的使用情況更是不可少, 目前有多個監控工具, 相比jprofiler對系統資源尤其是內存的消耗是非常龐大,jdk1.6開始自帶的visualvm就是不錯的監控工具.
這個工具就在java_home\bin\目錄下的jvisualvm.exe, 雙擊這個文件就能看到一個比較直觀的界面
從左邊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文件,加入如下信息:
1
2
3
4
|
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信息, 內存信息, 統計加載類數量,線程信息.
以上這篇java visualvm監控遠程jvm(詳解)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:http://www.cnblogs.com/dmfcjd/p/7723627.html