Dans ma chasse aux fuites de mémoire dans mon appli Swing, je viens de découvrir deux outils très sympathiques livrés avec le JDK 1.6 :
jmappermet de faire un dump du tas (heap) d’un processus java en JRE 1.6jhatpermet de lancer un serveur web permettant d’exploiter un fichier de dump
Exemple :
jmap -dump:format=b,file=heap.bin 2265dumpe le tas du processus d’ID 2265 dans le fichier
heap.binjhat heap.binlance un serveur Web sur le port 7000 qui permet de visualiser le contenu du tas.
On peut ensuite avec son browser favori aller sur http://localhost:7000 et explorer toutes les instances, leurs références, par qui elles sont référencées (très utile pour la chasse aux memory leaks). On peut aussi spécifier à jhat 2 fichiers de dump et voir quelles instances ont été créées entre les 2 snapshots, …
En résumé, 2 petits outils bien pratiques lorsqu’on ne veut pas se lancer dans un outil de profiling comme Eclipse TPTP, JProbe ou autre. L’avantage étant qu’on peut les utiliser sur un poste utilisateur ou sur un serveur.




Derniers commentaires