private:installmatinecwithsvnlipse
Table of Contents
Java profiling with jconsole + Eclipse MAT
Par exemple, on veut vérifier que la mémoire est bien libérée sur 'Close Project' dans Capsis.
Installer MAT dans Eclipse
- Eclipse > Aide > Install new Software > MAT (add this url: https://www.eclipse.org/mat/downloads.php)
Lancer l'application à contrôler
- lancer l'application à profiler depuis un terminal
ex: capsis > New Project > PP3 > Creation > Ok > Evolution > 2 etapes > Fermer projet
Générer un .hprof avec JConsole
- générer un dump .hprof avec jconsole
ex: /home/coligny/Applications/jdk1.8.0_101/bin/jconsole MBeans > com.sun.management > hotspot diagnostic > operation > dumpheap > champ 1: fileName.hprof, champ 2: true
Rq1 : vraiment extension .hprof
Rq 2: enregistrer ou copier le .hprof dans le répertoire d'install de l'application capsis sous Eclipse
Sélectionner le .hprof dans Eclipse
- Dans eclipse : projet Capsis > <F5> pour faire apparaitre de .hprof et double-clic > Leak suspects report
MAT Dominator tree
Puis dominator tree : objets en mémoire au moment du dump
- chercher les instances de Project et qui détient les références pour voir si c'est normal après une fermeture projet
- Regex : Project
- clic droit > List objects with incoming references (objets qui référencent l'élément sélectionné)
- Current .previousProject ← suspect…
- Pp3Model.project
- ProjectDrawing.project ← suspect…
- ProjectPanel.project ← suspect…
MAT combien d'instances pour une classe donnée
Barre d'outils MAT > Create an histogram from an arbitrary set of objects
Regex: 'Step'
→ le nombre d'instances est visible
Sélection d'un type, clic droit, List objects,
- with outgoing references (références sortantes de l'objet : celle qu'il contient vers d'autres objets)
- with incoming references (références qui arrivent vers l'objet depuis d'autres objets)
private/installmatinecwithsvnlipse.txt · Last modified: 2023/07/27 09:56 by coligny