PS,1880后程序員

          看不完的牙,寫不完的程序,跑不完的步。
          隨筆 - 97, 文章 - 34, 評論 - 10, 引用 - 0
          數據加載中……

          使用Eclipse Memory Analyzer對Tomcat進行內存分析

          測試環境

          Java JDK1.6

          Tomcat Tomcat 5.5

          Eclipse Memory AnalyzerEMA 1.2.1(直接去Eclipse下載,無需安裝哈)

           

          獲得Heap Dump文件

          Eclipse Memory Analyzer是針對Heap Dump文件進行分析的,因此第一步就是要獲得Heap Dump文件。

          步驟:

          獲得線程ID啟動jconsole.exe,位于jdk目錄下的bin目錄,jconsolejdk自帶的一個內存分析工具,它提供了圖形界面。可以查看到被監控的jvm的內存信息,線程信息,類加載信息,MBean信息。

          此處我們可以找到需要檢測的Tomcat的線程ID

          獲得Heap Dump文件。使用jmap來獲得Heap Dump文件,命令行如下:

          jmap -dump:format=b,file=heap.bin 3888

          此處3888就是Tomcat對應的線程ID

          生成分析報告

          啟動MemoryAnalyzer.exe,打開指定的Heap Dump文件。File -> Open Heap Dump

          MAT針對指定的Heap Dump文件進行分析,生成內存泄露檢測報告



          看懂分析報告

          要想看懂EAT的報告,與其到網上去找各種神貼,不如老老實實找本書,先簡單復習下JVMHeap是怎么工作滴?gc的大概一個工作機制。否則EAT的報告就像天書一樣。EAT只是工具,不是目的。

          posted on 2013-01-17 10:55 amenglai 閱讀(1734) 評論(0)  編輯  收藏 所屬分類: 我愛內存泄露

          主站蜘蛛池模板: 金坛市| 泰兴市| 百色市| 玉门市| 石屏县| 龙里县| 依安县| 榆树市| 镇巴县| 镇江市| 墨竹工卡县| 上犹县| 凭祥市| 桃源县| 三亚市| 武城县| 玉林市| 上犹县| 南靖县| 巩义市| 河南省| 黔南| 油尖旺区| 昌图县| 云浮市| 公安县| 高阳县| 全州县| 苏尼特左旗| 安康市| 阜阳市| 文山县| 棋牌| 绥宁县| 尼木县| 西峡县| 罗定市| 武宁县| 桂平市| 湖南省| 军事|