Eclipse MAT: uno strumento di analisi dei memory leaks di applicativi Java

Eclipse MAT (Eclipse Memory Analyzer) è una versione di Eclipse pensata per consentire un’analisi approfondita dello stato di utilizzo della memoria di un applicativo Java ed individuarne eventuali memory leak. Vediamone più in dettaglio le peculiarità.

Ottenere un heap dump della memoria

Per iniziare l’analisi della memoria è necessario ottenere un heap dump dell’applicativo Java. Eclipse MAT consente di ottenerne uno dai processi attualmente eseguiti sul pc, che vengono presentati con un comodo elenco. Nel caso in cui l’applicativo risieda su un’altra macchina, sarà necessario procurarsi il dump della memoria in un altro modo (usando ad esempio i binari Jmap o Jconsole disponibili nel pacchetto di una JVM).

Overview dello consumo di memoria

Un primo grafico a torta ci presenta lo stato complessivo della memoria del processo. Si ha subito un’indicazione visiva degli oggetti che occupano più spazio.

Con il grafico di tipo “Dominator Tree”, invece, si ottiene una lista ordinata di tutti gli oggetti con relativo package, con l’indicazione dettagliata della percentuale di memoria heap occupata.

Class reference

Con lo strumento Inspector si ottiene il dettaglio della “Class Reference”, in cui vengono elencate tutte le classi con il tipo, il numero e la dimensione degli oggetti utilizzati al loro interno, oltre ad una serie di altri dati.

Leak suspects

Con i grafici relativi ai sospetti leak entriamo nella caratteristica a mio avviso più interessante di Eclipse MAT. C’è infatti l’indicazione precisa delle potenziali cause di un out of memory, descritte sia come grafico a torta sia con una breve descrizione lista degli oggetti relativi.


Top consumers

Infine, i Top Consumers sono gli oggetti che occupano la dimensione maggiore nella memoria heap.

Scarica Eclipse MAT dal sito ufficiale.

Lascia un commento