Recommendations for a heap analysis tool for Java?
JavaMemoryProfilingHeap MemoryJava Problem Overview
List your favorite heap analysis tools (e.g. jprofiler, jmap, ...). Let's keep it one tool per answer, with a short list of pros and cons for each tool.
Java Solutions
Solution 1 - Java
Eclipse Memory analyzer http://www.eclipse.org/mat/
- Support for multiple JVMs
- Help with identifying sources for memory leaks (see http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/6856)
- Open source and actively developed by major vendors (SAP and IBM)
- Part of Galileo release of Eclipse
Solution 2 - Java
Solution 3 - Java
YourKit : http://www.yourkit.com/
Pros:
- The interface is clean and it's fast
- It opened a large 5-gig heap dump where jProfiler grined to a halt. And it only needed 1-2 gigs of JVM ram to do so.
Cons: Of course... it's not free :(
Solution 4 - Java
BHeapSampler http://dr-brenschede.de/bheapsampler/
- generates a class-level heap-graph as a really intuitive display of the dominant memory structures
- can process really large heap dumps
- command-line tool, usable on server side without transfering the dump to the developer's desk