爪哇一角

          共同探討STRUTS#HIBERNATE#SPRING#EJB等技術(shù)
          posts - 3, comments - 6, trackbacks - 0, articles - 99
            BlogJava :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

          其實(shí)在 JDK 5 中已經(jīng)新加入了這個(gè)功能了. 現(xiàn)在的 JDK 已經(jīng)內(nèi)置了對(duì) VM 的監(jiān)控功能. JDK 6 中這個(gè)工具變的更加好用了. 關(guān)于 JDK 5 中如何使用這個(gè)工具可以參考這里: http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html

          http://java.sun.com/j2se/1.5.0/docs/guide/management/jconsole.html

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

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

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

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

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

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

          監(jiān)控遠(yuǎn)程進(jìn)程

          首先需要在運(yùn)行的應(yīng)用上啟用遠(yuǎn)程管理, 參數(shù)如下(簡(jiǎn)單期間就不加用戶(hù)驗(yàn)證了):
          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

          然后連接的時(shí)候選擇遠(yuǎn)程進(jìn)程, 地址輸入:

          localhost:1090

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

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

          后記:

          jdk1.6.0\demo\management\MemoryMonitor

          這里帶了個(gè)很好的畫(huà)內(nèi)存曲線圖的例子... 大家改改就可以實(shí)現(xiàn)同時(shí)監(jiān)控多臺(tái) Server 的內(nèi)存曲線了....

          主站蜘蛛池模板: 平利县| 布尔津县| 平罗县| 莱州市| 同德县| 丹阳市| 田阳县| 印江| 武乡县| 衢州市| 太仓市| 松阳县| 葫芦岛市| 南京市| 互助| 永宁县| 临颍县| 湖口县| 灯塔市| 萨嘎县| 沂源县| 奈曼旗| 石泉县| 庆元县| 板桥市| 益阳市| 抚顺市| 蕉岭县| 涞源县| 韩城市| 泗洪县| 京山县| 吉木萨尔县| 云浮市| 巴马| 玉环县| 余姚市| 栾川县| 新丰县| 临武县| 分宜县|