Das frisch erschienene Galileo-Release von Eclipse stellt das erste Simultaneous Release für den Memory Analyzer (MAT) dar, dem Tool zur Analyse von Java Heap Dumps. Grund genug für JAXenter, bei Andreas Buchen von SAP einmal die Hintergründe des MAT-Projekts in Erfahrung zu bringen.
JAXenter: Hallo Herr Buchen. Sie sind Project-Lead des Eclipse-Projekts Memory Analyzer (MAT). Um was geht es bei MAT eigentlich?
Andreas Buchen: Der Memory Analyzer ist ein Werkzeug zur Analyse von Java Heap Dumps. Solche Heap Dumps sind Abbilder des Speichers einer Virtual Machine samt seiner Klassen, Objekte, Feldwerte und Referenzen.
JAXenter: Was ist an Java Heap Dumps so interessant?
Buchen: Warum sind Heap Dumps so spannend? Sie eignen sich besonders zur Analyse von Produktivsystemen: Bei einem OutOfMemoryError kann die VM automatisch einen Heap Dump erzeugen, und mit Hilfe des Memory Analyzers kann man die Ursache suchen und das Problem lösen, ohne das Produktivsystem zu beeinträchtigen. Der Memory Analyzer kann mit allen aktuellen VMs von Sun oder IBM arbeiten. Natürlich nutzt er auch dem Entwickler – zum Beispiel indem er die wahre Größe von Datenstrukturen zeigt, oder den Speicherverbrauch durch exzessiv viele leere Collections berechnet.
JAXenter: Welche Neuerungen bietet die MAT-Galileo-Version?
Buchen: Neu ist die Unterstützung von IBM Heap Dumps, System Dumps und PHD (Portable Heap Dumps) von Sovereign und J9-Versionen. Neu sind auch die Stack Frames mit allen lokalen Variablen, die für aktuelle VMs angezeigt werden (z.b. Sun JVM 6 Update 14). Daneben gibt es einige Detailverbesserungen, wie zum Beispiel den Equinox Bundle Browser, mit dem man sich Details über die OSGi Runtime einfach anzeigen lassen kann.
JAXenter: Wie wird MAT weiterentwickelt?
Buchen: Die nächsten Schritte gehen in Richtung Detailverbesserung: ein besserer Vergleich verschiedener Heap Dumps, Erweiterungen zum Objekt Inspector etc.
JAXenter: Vielen Dank für dieses Gespräch!
Andreas Buchen arbeitet seit 2006 an Werkzeugen zur Speicheranalyse bei SAP. Seit der Contribution des Memory Analyzers zur Eclipse Foundation ist er Projektleiter. Andreas hat zu dem Thema einige Vorträge gehalten – unter anderem auf der JavaOne oder EclipseCon.




