常用鏈接

          統計

          最新評論

          JProfiler試用手記(轉)

           JProfiler是一款Java的性能監控工具。可以查看當前應用的對象、對象引用、內存、CPU使用情況、線程、線程運行情況(阻塞、等待等),同時可以查找應用內存使用得熱點,即:哪個對象占用的內存比較多;或者CPU熱點,即:哪兒方法占用的較大得CPU資源。我使用的是4.3.2版本,以前試用過3**版本,不過那個bug比較多,容易死,4**版本穩定多了。

               有了上面那些信息對于系統的調優會有很大幫助。這里提供有幾篇文章供參考:獲取、介紹,簡單入門,使用JProfiler解決實際問題。這幾篇文章基本介紹了常見東西了,下面說點心得。

          1. JProfiler監控是要消耗系統資源的,所以一般情況下不要用于性能測試時候的監控。
          2. 如果要用于相對大壓力情況下,可以有選擇的打開監控項,不用所有都打開。主要有兩個,一個是內存監控,打開的情況下可以查找內存分配熱點。一個是CPU監控,打開的情況下可以查看CPU使用熱點。
            如圖所示,紅筆標注部分。如果兩個都關閉的話,還是可以跑一定壓力的,同時還可以監控對象數量。
          3. 個人認為最好用的(也是用的最多的)是查詢當前的對象的數量。數量監控很重要,如果你使用了單例,那么你只會看到有一個對象存在,如果多了就說明程序有問題了。同樣,如果應用進行一系列操作,檢查一下該銷毀的對象是否還繼續存在,如果沒有釋放,就得考慮是否存在內存溢出了。
          4. JProfiler還提供了一個比較好的檢查內存溢出得工具。他可以查找某個對象的引用情況,即:當你發現某個該釋放掉的對象沒有釋放,就可以看一下哪個實例在引用它,找到了根即找到了溢出點。
            具體操作如下:在 “Memory Views”界面中右鍵選擇你要監控的對象,選擇第一項“Take Heap Snapshot for Selection”,選擇完成后會進入“Heap Walker”界面,界面下面提供幾個功能,選擇“References”即可 。如圖:

          5. JProfiler提供不同的觀察粒度,提供對類的監控、對包的監控、對J2EE組件的監控,同時過濾器也比較好用,直接定位你關注的包或類即可。
          6. JProfiler的監控可能與應用之間存在一定時間差,所以有些時候需要等待刷新,才能顯示正確系統情況。

          posted on 2008-04-22 15:19 九寶 閱讀(494) 評論(1)  編輯  收藏 所屬分類: Java

          評論

          # re: JProfiler試用手記(轉) 2011-12-22 15:54 小曾

          具體怎么 用啊,你說的太籠統啊  回復  更多評論   

          主站蜘蛛池模板: 崇仁县| 富蕴县| 右玉县| 兴城市| 宜宾市| 长武县| 读书| 博湖县| 大冶市| 共和县| 伊吾县| 桓仁| 武威市| 茶陵县| 宁都县| 凤城市| 车致| 寿宁县| 曲阳县| 南雄市| 秦皇岛市| 化州市| 鄂托克旗| 三门峡市| 神池县| 淮南市| 千阳县| 昌江| 丹东市| 来凤县| 合水县| 宁晋县| 牙克石市| 满洲里市| 宁阳县| 华安县| 洪泽县| 翁牛特旗| 西贡区| 措勤县| 沂水县|