差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

java:basic:jconsole [2017/08/19 23:33]
java:basic:jconsole [2023/06/25 09:48] (目前版本)
行 1: 行 1:
 +{{tag>​java}} 
 +====== JConsole ====== 
 +JConsole是用來監控java程式佔用資源的工具,我主要用它來看heap memory是否有正常回收;看thread是否是無止盡的增加;看cpu使用率是否過重等。基本上與系統上工作管理員或linux top所顯示的會有些出入,因為系統上所統計的包含了JRE自己本身所佔用的資源。\\ 
 +{{:​java:​basic:​jconsole_snapshot.png?​600|}}\\ 
 +===== Java程式啟動參數 ===== 
 +要使用JConsole功能必須在java程式參數中加入以下四個項目。port即要連線的port;hostname即遠端機器的ip,以前我都沒使用,在某一次遠端連linux上的java程式時發現連不到才開始用它;ssl與authenticate都是為了安全性才會啟用的,目前還沒使用過。 
 +<​code>​ 
 +-Dcom.sun.management.jmxremote.port=9999 
 +-Dcom.sun.management.jmxremote.ssl=false 
 +-Dcom.sun.management.jmxremote.authenticate=false 
 +-Djava.rmi.server.hostname=10.134.15.131 
 +</​code>​ 
 +===== 連線 ===== 
 +在啟動JRE/​JDK bin中的jconsole應用程式後,會看到下面畫面:​\\ 
 +{{:​java:​basic:​jconsole_connection.png?​400|}}\\ 
 +分為Local與Remote連線兩種。 
 +  - Local: 直接選擇對應的java process連接。 
 +  - Remote: 目前我僅用過ip:​port的連線方式。以我上述的例子來說,就是使用10.134.15.131:​9999連線。 
 +\\ 
 +有其它的東西會再繼續補充給大家。\\ 
 +\\ 
 +\\ 
 +友藏內心獨白:​ 客官阿~這Heap Memory怎和工作管理員上的差那麼多阿! 
 +===== Reference ===== 
 +  * [[http://​docs.oracle.com/​javase/​1.5.0/​docs/​guide/​management/​jconsole.html|Using jconsole]] 
 +=====    ===== 
 +---- 
 +\\ 
 +~~DISQUS~~