ゞ沉默是金ゞ

          魚離不開水,但是沒有說不離開哪滴水.
          posts - 98,comments - 104,trackbacks - 0

          jconsole 可以很方便的監(jiān)控本機的所有 Java 應(yīng)用和遠程的應(yīng)用.

          監(jiān)控本地應(yīng)用

           首先就是啟動您要監(jiān)控的應(yīng)用, 例如我用 JDK 1.6 來啟動了 Tomcat, 或者 Eclipse 也可以, 可以在任務(wù)管理器(Ctrl+Alt+Del可以調(diào)出來, 或者在任務(wù)欄點擊右鍵)里看到進程ID, 例如我這里是 6132.

          接著在 JDK 安裝目錄中(<JDK_HOME>/bin/jconsole.exe)啟動 jconsole.exe (雙擊或者在 cmd 里面敲入 jconsole), 主界面會提示您建立一個新連接:

          可以看到進程ID, 選擇它, 然后點擊"連接". 這些 ID 必須都是用 JDK 1.6 的 java.exe 啟動的, 否則在列表里看不到.

          JConsle 能監(jiān)控內(nèi)存,線程,類的數(shù)目和CPU然后點擊各個 Tab 可以看到詳細的輸出, 詳細的輸出包括:
          內(nèi)存: 堆/非堆, 峰值, 內(nèi)存的各個部分, 例如 Perm, Eden 等的大小曲線圖.
          線程: 峰值, 所有線程的列表, 堆棧跟蹤(哪個對象中的線程)等. 還可以強制執(zhí)行GC.
          類: 峰值, 類總數(shù)曲線圖.
          MBean: 一些 JVM 參數(shù)的詳細 MBean 信息.

          監(jiān)控遠程進程

          首先需要在運行的應(yīng)用上啟用遠程管理, 參數(shù)如下(簡單期間就不加用戶驗證了):
          java -Dcom.sun.management.jmxremote.port=1090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -jar ../demo/jfc/Java2D/Java2Demo.jar

          然后連接的時候選擇遠程進程, 地址輸入:

          localhost:1090

          即可.當然在別的電腦上(一般是局域網(wǎng))可以輸入那個電腦的IP.

          綜述: 使用 JConsole 可以簡單的監(jiān)控 Server 狀態(tài), 但是本身要占一定的資源, 不過 JVM 自帶的監(jiān)控, 理論上講應(yīng)該是占資源很小很小的, 可以用它來方便的了解 Web 服務(wù)器應(yīng)用進程的狀態(tài). 如果要調(diào)優(yōu)應(yīng)用, 還是使用 JProfiler 等工具更好一些, 當然它們占的資源也更大.

          posted on 2009-05-06 14:47 ゞ沉默是金ゞ 閱讀(1597) 評論(1)  編輯  收藏 所屬分類: Java SE

          FeedBack:
          # re: jconsole[未登錄]
          2009-05-08 07:32 | shaofan
          非常有用,謝謝分享。  回復(fù)  更多評論
            
          主站蜘蛛池模板: 太仆寺旗| 泰兴市| 徐汇区| 常德市| 内丘县| 扶沟县| 香格里拉县| 乌拉特后旗| 清远市| 沙洋县| 玉溪市| 万宁市| 团风县| 清流县| 上蔡县| 灯塔市| 叶城县| 梧州市| 神农架林区| 上饶县| 隆德县| 沅江市| 镇沅| 双峰县| 和硕县| 枞阳县| 乌苏市| 长沙县| 九寨沟县| 洪洞县| 仙居县| 上思县| 青海省| 阜南县| 郧西县| 仁寿县| 兴宁市| 海口市| 江口县| 阳春市| 麻城市|