Analyze Java memory leak problem with Eclipse Memory Analyzer

Well the Eclipse Memory Analyzer is really a cool tool. Actually it’s just a plug-in for Eclipse. It is designed to analyze the Java dump file and it tries to automatically generate the report of the dump file and it can even detect the possible issues that occurs in the dump. Amazing.

Most of the belowing checking points are just summarized from these two links, thanks for their guide.

http://www.blogjava.net/justinchen/archive/2009/02/22/256113.html

http://blog.csdn.net/moneyice/archive/2008/07/12/2644503.aspx

 

So firstly we need to get some Jave Heap Dump and then open it with Memory analyzer.

- Check the overview chart and if u’r lucky enough the most critical memory-consuming part can be easily checked out in this step.

- Check the thread list, and find the top ones, use ‘List Objects’->'with incoming refrence’ to find the class’s caller.

- Exclude the weak calls by ‘Path to GC roots’ –> 'exclude weak/soft references’ and get the parts left.

- Track it back and find the root cause in the source code.

 

But remember the most important thing, don’t forget to bring your source code. Without the source code, any imagination by the class name is just a guess.

posted @ 2009-11-24 07:00  Raymond Zhang  阅读(608)  评论(0编辑  收藏  举报