-server -Xms128m -Xmx128m -Xmn64m -XX:+UseParallelOldGC
-XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps -XX:+PrintGCDetails
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:/dump/dump-test
MAT(Memory Analyzer Tool)工具是eclipse的一个插件,使用起来非常方便,尤其是在分析大内存的dump文件时,可以非常直观的看到各个对象在堆空间中所占用的内存大小、类实例数量、对象引用关系、利用OQL对象查询,以及可以很方便的找出对象GC Roots的相关信息,当然最吸引人的还是能够快速为开发人员生成内存泄露报表,方便定位问题和分析问题。
MAT工具的下载地址为:http://www.eclipse.org/mat/downloads.php
MAT插件的下载地址为:http://download.eclipse.org/mat/1.3/update-site/
从上图可以看到它提供的一些功能:
1) Histogram可以查看内存中的对象,对象的个数以及大小。
2.)Dominator Tree可以列出线程,以及线程下面的那些对象占用的空间。
3)Top consumers通过图形列出最大的object。
4)Leak Suspects通过MA自动分析泄漏的原因。
文章:
http://outofmemory.cn/java/jvm/OutOfMemoryError-analysis
使用Memory Analyzer tool(MAT)分析内存泄漏(二)
http://www.blogjava.net/rosen/archive/2010/05/21/321575.html
使用Memory Analyzer tool(MAT)分析内存泄漏(一)
http://www.blogjava.net/rosen/archive/2010/06/13/323522.html