Analyzing memory related problems like memory leaks or high memory footprint has proven to be a very time-consuming and difficult process. It usually requires not only familiarity and expertise in the code being analyzed, but also previous experience in troubleshooting such problems. This session demonstrates the Memory Analyzer, a tool recently (*) contributed to the Eclipse community by SAP, which goes beyond simple heap walking to automatically detect and report suspected memory problems.
Based on HPROF binary heap dumps written by Hotspot VMs, the Memory Analyzer extracts data crucial for all phases of the software life cycle: In the development phase, the tool highlights expensive data structures and common memory anti-patterns such as excessive use of empty collections. In the testing phase it enables the tester to run regressions tests and thereby verify whether code changes increase or decrease memory footprint. Finally, in the maintenance phase it automatically detects possible problem areas, reports responsible components and extracts all necessary information from the heap dump to enable faster troubleshooting of the problem.
This session includes a live demo and will look behind the scenes at the techniques used to spot leaks or overly memory-expensive threads.
(*) The open source proposal is currently discussed with the Eclipse organization. We expect to complete the whole process by March 2008. SAP has committed itself to contributing the source: see the press announcement
Andreas Buchen is part of the Java Server Technology group at SAP. He has over 7 years of experience in developing custom Java EE applications, mostly in the banking sector. In 2005, Andreas joined SAP and is currently leading the development team for the memory analyzer tool. Andreas has spoken on Java memory analysis at the JavaOne and JAX 2007 conferences.