Jconsole監控本地及遠程Java進程


Jconsole支持對本地和遠程Java進程的監控。 

 

1.     監控本地Java進程

對於本地的Java進程很簡單,只需要在啟動需要監控的Java程序后,啟動Jconsole,在本地進程列表中選擇該進程點擊“連接”按鈕即可。例如,我們先啟動JDK自帶的另一個監控工具JVisualVM,然后啟動JConsole:

在JConsole的本地進程列表中可以看到JVisualVM進程,選擇並連接之。
 

2.    監控遠程Java進程

2.1  設置遠程監控相關選項

對於遠程Java進程的連接,會要麻煩些,首先需要在需監控的遠程Java程序啟動腳本中加入與JVM遠程監控相關的選項:
1)     開啟JVM遠程監控
        
-Dcom.sun.management.jmxremote=true

2)     監控的IP地址
         
-Djava.rmi.server.hostname=192.168.91.166,遠程進程所在主機的IP。

3)     監控的端口
        
-Dcom.sun.management.jmxremote.port=50013,這個端口值可以任意設置,但在之后用Jconsole連接這個遠程進程的時候,遠程進程中的port一定要和此處的設置一致,並且一定不要和遠程進程的服務端口區分開。

4)     是否禁用ssl驗證
        
-Dcom.sun.management.jmxremote.ssl,false為禁用,true為啟用。

5)     是否需要用戶密碼驗證
        
-Dcom.sun.management.jmxremote.authenticate,false為不需要驗證,true為需要驗證。但我在Win7(32位、64位)中tomcat5.5.23下試着將該選項設置為true,tomcat無法啟動,命令行窗口一閃而過。

        有試過象參考文獻中所說的,修改jdk\jre及jre下的jmxremote.password和jmxremote.access,又有嘗試象參考文獻4中所說的,修改jdk\jre及jre下結果也是一樣的。結果也是一樣的management.properties,結果均一樣的。
        
         有哪位遇到過,並解決了這個問題,如果看到這兒的,希望可以幫忙解答一下,先謝過了!! 


2.2  連接遠程Java進程

有兩種連接遠程Java進程的方法,效果是一樣的。


1)      命令行中連接遠程Java 進程
        直接在命令行中啟動JConsole的時候,帶遠程進程參數:
 

2)     JConsole圖形界面上連接遠程Java進程

先在命令行中不帶遠程進程參數啟動JConsole,然后在JConsole新建連接對話框中選擇遠程進程,填入遠程進程參數:,最后點擊“連接”按鈕。


參考文獻

1.   http://space.itpub.net/23071790/viewspace-701205

2.   http://docs.oracle.com/javase/1.5.0/docs/guide/management/jconsole.html

3.    http://blog.csdn.net/lijiecong/article/details/6882267

4.    http://www.iteye.com/problems/34420


免責聲明!

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



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