隨筆-193  評論-715  文章-1  trackbacks-0

          本Blog所有內容不得隨意轉載,版權屬于作者所有。如需轉載請與作者聯系( fastzch@163.com )。
          未經許可的轉載,本人保留一切法律權益。
          一直以來,發現有某些人完全不尊重我的勞動成果,隨意轉載,提醒一下那些人小心哪天惹上官司。


          昨天在Javaeye.com上看到一篇《十個最好的Java性能故障排除工具》(http://www.javaeye.com/news/2943)的文章,隨即對其中兩個(MAT和GCViewer)進行了試用,下面簡單的談談感受:

          GCViewer的使用很簡單,首先配置JDK的參數為:
          ?-verbose:gc -Xloggc:gc.log
          這樣,GC的相關Log就會被寫入到gc.log文件中,如果你使用Tomcat,那么此文件會寫到%TOMCAT_HOME%/bin/目錄下。
          然后,你就可以用GCViewer打開這個文件了,畫面如下:
          r_gcv001.gif
          上圖中黑色部分為OOM時的圖形表現,出現了這樣的情況后,后邊對于Heap的Summary的一些信息再也不能正確的顯示了,看看Freed Memory,有1829.298M,而上圖是我為了同時試用MAT對JVM作了一些特殊設計后產生的結果,完整的設置如下:
          -Xms16m -Xmx20m -verbose:gc -Xloggc:gc.log -XX:+HeapDumpOnOutOfMemoryError

          大家可以看到,我將最大堆設為20M,所以上圖才會出現OOM這種狀況,當然如果你的程序設計有問題的話,即使你設堆設為最大1024M,也會出現OOM。
          正是由于上面有設置-XX:+HeapDumpOnOutOfMemoryError這個參數,所以當出現OOM狀況時,在TOMCAT_HOME%/bin/目錄下才會出現java_pid3164.hprof這樣的文件,文件名中的數字會根據當前JVM所占用的PID不同而不同。

          那么我們可以在MAT同打開這個文件,如下圖所示:
          mat001.gif
          在工具欄中,我們可以先把各種各樣的統計結果和詳細結果。

          更多的信息,可參考各自己的官方網站:
          1,MAT:http://www.eclipse.org/mat/
          2,GCViewer:http://www.tagtraum.com/gcviewer.html

          posted on 2008-07-20 21:38 Robin's Programming World 閱讀(13632) 評論(8)  編輯  收藏 所屬分類: Java

          評論:
          # re: JVM分析的兩個工具(MAT&GCViewer)試用 2008-07-21 11:14 | 單飛
          能分析出是那個類,那個方法拋出的OOM嗎?  回復  更多評論
            
          # re: JVM分析的兩個工具(MAT&GCViewer)試用 2008-07-22 11:04 | Robin's Java World
          @單飛
          當然可以,MAT中有一項叫“Leak Suspects”,可以查看原因。  回復  更多評論
            
          # re: JVM分析的兩個工具(MAT&GCViewer)試用 2008-07-22 17:29 | 44you
          非常好,謝謝博主  回復  更多評論
            
          # re: JVM分析的兩個工具(MAT&GCViewer)試用 2008-09-22 15:10 | 13
          gcviewer能分析出是那個類,那個方法拋出的OOM嗎  回復  更多評論
            
          # re: JVM分析的兩個工具(MAT&GCViewer)試用 2008-09-22 16:43 | 13
          你好 不知道是否可以請教下你關于gcviwer的問題,我的qq 214666775
          email也可以 littlesail.13@gmail.com 謝謝  回復  更多評論
            
          # re: JVM分析的兩個工具(MAT&GCViewer)試用 2008-09-22 19:08 | Robin's Java World
          @13
          GCViewer只能查看GC的日志,OOM的分析可以用MAT,也可以用其它工具。
          你也可以加我的QQ:9184314  回復  更多評論
            
          # re: JVM分析的兩個工具(MAT&GCViewer)試用[未登錄] 2009-12-03 17:17 | jimmy
          請問樓主,這個工具對于系統性能會有多大影響?  回復  更多評論
            
          # re: JVM分析的兩個工具(MAT&GCViewer)試用 2009-12-03 18:33 | Robin's Java World
          @jimmy
          這兩個軟件本身對性能沒有任何影響,是分析JVM的日志,主要是打開JVM的GC日志功能,所以通常對性能的影響在1%-2%之間。  回復  更多評論
            
          主站蜘蛛池模板: 石阡县| 宝应县| 隆林| 什邡市| 株洲县| 临江市| 葫芦岛市| 安康市| 庐江县| 阿拉善左旗| 庆元县| 松江区| 仪征市| 澄迈县| 凭祥市| 浙江省| 云龙县| 成武县| 耿马| 汤阴县| 岳普湖县| 曲松县| 万荣县| 来宾市| 阜康市| 济阳县| 延长县| 玉田县| 和顺县| 泗洪县| 铜陵市| 略阳县| 洛隆县| 红桥区| 镇巴县| 深水埗区| 承德市| 英吉沙县| 潼南县| 偃师市| 澳门|