我們經(jīng)常需要對(duì)我們的開發(fā)的軟件做各種測(cè)試, 軟件對(duì)系統(tǒng)資源的使用情況更是不可少, 目前有多個(gè)監(jiān)控工具, 相比JProfiler對(duì)系統(tǒng)資源尤其是內(nèi)存的消耗是非常龐大,JDK1.6開始自帶的VisualVM就是不錯(cuò)的監(jiān)控工具.
創(chuàng)新互聯(lián)是一家專注于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),云城網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:云城等地區(qū)。云城做網(wǎng)站價(jià)格咨詢:13518219792
這個(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程序就會(huì)自動(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 這兩行前面的注釋符號(hào)
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地址會(huì)加入到Remote節(jié)點(diǎn)下.
c.反鍵點(diǎn)擊這個(gè)IP地址,選擇Add JMX Connection, 在彈出的界面中輸入剛配置的端口號(hào)(18999), 這個(gè)連接會(huì)加入到該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(詳解)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持創(chuàng)新互聯(lián)。