使用Eclipse Memory Analyzer对Tomcat进行内存分析

来源:互联网 发布:网络ip地址设置 编辑:程序博客网 时间:2024/05/16 07:30

测试环境

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只是工具,不是目的。

原创粉丝点击