关键字:jmapeclipse mat 排查内存泄漏的好工具
        当服务器应用占用了过多内存的时候,如何快速定位问题呢?现在,Eclipse MAT的出现使这个问题变得非常简单。

        要定位问题,首先你需要把服务器的内存镜像dump成文件。jdk自带的jmap命令可以完成这个工作
$JAVA_HOME/bin/jmap-heap:format=b <进程号>
然后你可以祈祷命令能够执行成功吧!以我的经验,成功率不是太高......
如果成功执行了jmap,会在当前目录生成一个heap.bin文件,就是当前进程内存的完整影像,把它打包下载下来就可以用Eclipse MAT来分析了。

       Eclipse MAT是SAP公司贡献的一个工具,可以在Eclipse网站下载到它,完全免费的。它可比Sun提供的内存镜像分析工具jhat要强太多了。用它打开先前生成的heap.bin文件,就可以看到占用内存的到底是什么东西了。