您好,登錄后才能下訂單哦!
我們經(jīng)常需要對我們的開發(fā)的軟件做各種測試, 軟件對系統(tǒng)資源的使用情況更是不可少, 目前有多個(gè)監(jiān)控工具, 相比JProfiler對系統(tǒng)資源尤其是內(nèi)存的消耗是非常龐大,JDK1.6開始自帶的VisualVM就是不錯(cuò)的監(jiān)控工具.
這個(gè)工具就在JAVA_HOME\bin\目錄下的jvisualvm.exe, 雙擊這個(gè)文件就能看到一個(gè)比較直觀的界面
從左邊Applications樹中可以知道,不光可以監(jiān)控本地JVM運(yùn)行情況, 還可以監(jiān)控遠(yuǎn)程機(jī)器上的JVM運(yùn)行情況.
本地監(jiān)控:只要打開某個(gè)JAVA程序就會自動(dòng)的加入到本地監(jiān)控中.
因?yàn)楸镜乇O(jiān)控?zé)o需配置, 所以這里主要介紹監(jiān)控遠(yuǎn)程JVM
要進(jìn)行遠(yuǎn)程監(jiān)控, 本機(jī)的VisualVM就必須和遠(yuǎn)程的JVM要進(jìn)行通信, Visualvm目前支持兩種remote connection方式.
分別是jstatd和JMX方式: 這里我主要介紹的是通過JMX方式.
通過JMX連接遠(yuǎn)程機(jī)器, 需要經(jīng)過下面的配置:
1. 修改遠(yuǎn)程機(jī)器JDK配置文件 (我這里遠(yuǎn)程機(jī)器是linux).
a.進(jìn)入JAVA_HOME\jre\lib\management\目錄
b.拷貝jmxremote.password.template這個(gè)文件到當(dāng)前目錄, 并改名為jmxremote.password
c.打開jmxremote.password文件,去掉 # monitorRole QED 和 # controlRole R&D 這兩行前面的注釋符號
2. 修改遠(yuǎn)程機(jī)器上需要被監(jiān)控的程序的配置文件 (我這里是監(jiān)控Tomcat容器內(nèi)部署的應(yīng)用).
a.進(jìn)入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服務(wù).
3. 客戶端VisualVM配置 (我客戶端用的是WinXP).
a.直接反鍵點(diǎn)擊Remote,選擇Add Remote Host...
b.在彈出的界面中輸入遠(yuǎn)程機(jī)器的IP地址(192.168.0.237),這個(gè)IP地址會加入到Remote節(jié)點(diǎn)下.
c.反鍵點(diǎn)擊這個(gè)IP地址,選擇Add JMX Connection, 在彈出的界面中輸入剛配置的端口號(18999), 這個(gè)連接會加入到該IP節(jié)點(diǎn)下.
d.反鍵點(diǎn)擊這個(gè)連接,選擇Open.
此時(shí)就可以看到監(jiān)控的界面, 從界面上我們可以看到CPU信息, 內(nèi)存信息, 統(tǒng)計(jì)加載類數(shù)量,線程信息.
以上這篇Java VisualVM監(jiān)控遠(yuǎn)程JVM(詳解)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持億速云。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。