jconsole

jconsole

JConsole是一個基於JMX的GUI工具,用於連接正在運行的JVM,不過此JVM需要使用可管理的模式啟動。

簡介


如果要把一個應用以可管理的形式啟動,可以在啟動時設置com.sun.management.jmxremote。

案例


例如,啟動一個可以在本地監控的J2SE的應用 Java2Demo ,需輸入以下命令:
JDK_HOME/bin/java -Dcom.sun.management.jmxremote -jar [b]JDK_HOME/demo/jfc/Java2D/Java2Demo.jar
[/b]
JDK_HOME需要是一個含有JDK5.0的目錄。
要啟動JConsole,運行
JDK_HOME/bin/jconsole
一個用於連接的對話框將會打開。對話框的Local標籤列出了所有本地正在運行的JVM,還包含進程的ID等信息。
Figure 2: Local Tab.
JConsole可以以三種方式連接正在運行的JVM:
Local:使用JConsole連接一個正在本地系統運行的JVM,並且執行程序的和運行JConsole的需要是同一個用戶。JConsole使用文件系統的授權通過RMI連接器連接到平台的MBean伺服器上。這種從本地連接的監控能力只有Sun的JDK具有 Remote:使用下面的URL通過RMI連接器連接到一個JMX代理:
service:jmx:rmi:///jndi/rmi://hostName:portNum/jmxrmi
hostName填入主機名稱, portNum為JMX代理啟動時指定的埠。JConsole為建立連接,需要在環境變數中設置mx.remote.credentials來指定用戶名和密碼從而進行授權。
Advanced:使用一個特殊的URL連接JMX代理。一般情況使用自己定製的連接器而不是RMI提供的連接器來連接JMX代理,或者是一個使用JDK1.4的實現了JMX和JMX Rmote的應用。
當JConsole成功建立連接,它從連接上的JMX代理處獲取信息,並且以下面幾個標籤頁呈現信息。
Summary tab. 監控JVM和一些監控變數的信息。 Memory tab. 內存使用信息 Threads tab. 線程使用信息 Classes tab. 類調用信息 VM tab. JVM的信息 MBeans tab.所有MBeans的信息MBeans tab展示了所有以一般形式註冊到JVM上的MBeans。MBeans tab允許你獲取所有的平台信息,包括那些不能從其他標籤頁獲取到的信息。注意,其他標籤頁上的一些信息也在MBeans這裡顯示。另外,你可以使用 MBeans標籤管理你自己的應用的MBeans