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 阅读(1716) 评论(0)  编辑  收藏 所属分类: 我爱内存泄露


只有注册用户登录后才能发表评论。


网站导航: