Automatisierte Speicheranalyse: Auf der Jagd nach den Speicherfressern
Erwin Margewitsch
Die Analyse von Memory Leaks oder hohem Speicherverbrauch ist schwierig und zeitintensiv. Neben der Expertise und der Kenntniss des zu untersuchenden Quellcodes ist auch die Erfahrung in der Analyse solcher Probleme essentiell.
Der Memory Analyzer vereinfacht diesen Prozess: Auf Basis eines HPROF Heap Dumps wird der Speicherinhalt einer Java Virtual Machine aufbereitet und Histogramme, die grössten Objekte und deren einbehaltener Speicher extrahiert. Nach der Pflicht kommt die Kür: in einem Report werden alle Informationen über die größten Speicherfresser zusammengetragen – seien es einzelne Instanzen, mehrere Instanzen derselben Klasse oder speicherhungrige Threads. Dazu wird detailiert dargestellt, welche Objekte die Speicherfresser am Leben halten und warum der Garbage Collector sie nicht abräumen kann. Zusätzlich wird gezeigt, was die Threads gerade machten: HTTP Requests, SQL Statements etc.
Level: deutsch