爪哇一角

          共同探討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)存,線(xiàn)程,類(lèi)的數(shù)目和CPU然后點(diǎn)擊各個(gè) Tab 可以看到詳細(xì)的輸出, 詳細(xì)的輸出包括:
          內(nèi)存: 堆/非堆, 峰值, 內(nèi)存的各個(gè)部分, 例如 Perm, Eden 等的大小曲線(xiàn)圖.
          線(xiàn)程: 峰值, 所有線(xiàn)程的列表, 堆棧跟蹤(哪個(gè)對(duì)象中的線(xiàn)程)等. 還可以強(qiáng)制執(zhí)行GC.
          類(lèi): 峰值, 類(lèi)總數(shù)曲線(xiàn)圖.
          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)存曲線(xiàn)圖的例子... 大家改改就可以實(shí)現(xiàn)同時(shí)監(jiān)控多臺(tái) Server 的內(nèi)存曲線(xiàn)了....

          主站蜘蛛池模板: 渭源县| 工布江达县| 泰宁县| 庆元县| 修水县| 潞城市| 丽江市| 安国市| 南召县| 罗源县| 六盘水市| 岑巩县| 墨玉县| 南靖县| 柘城县| 渝北区| 全州县| 微博| 山东| 平罗县| 昆明市| 浦江县| 安吉县| 维西| 隆子县| 剑阁县| 岳西县| 沁源县| 雅江县| 永修县| 双江| 黄冈市| 桃园县| 娄底市| 芮城县| 沅陵县| 大荔县| 抚顺市| 桓台县| 南部县| 小金县|