J'ai généré un vidage de tas à partir de mon application Java exécutée depuis quelques jours avec l'outil jmap
->, ce qui donne un fichier de vidage de tas binaire volumineux.
Comment puis-je analyser la mémoire de ce tas dans IntellIJ IDEA?
Je sais qu'il existe des outils pour Eclipse et Netbeans, mais je préférerais utiliser IDEA si possible.
Les résultats de base de l'analyse me permettraient de connaître le nombre d'instances de chaque objet en mémoire, par classe, afin de pouvoir démarrer le débogage des fuites de mémoire.
La meilleure chose à faire est Memory Analyzer (MAT) , IntelliJ ne dispose d’aucun analyseur de vidage de tas.
Je voudrais mettre à jour les réponses ci-dessus à 2018 et dire d'utiliser à la fois VisualVM et Eclipse MAT.
VisualVM est utilisé pour la surveillance en direct et le dump heap. Vous pouvez également analyser les décharges de tas avec une grande puissance. Cependant, MAT dispose de davantage de fonctionnalités (telles que l'analyse automatique pour rechercher les fuites) et, par conséquent, je lis la sortie de vidage VisualVM (fichier .hprof) dans MAT.
Téléchargez VisualVM ici: https://visualvm.github.io/
Vous devez également télécharger le plugin pour Intellij:
Ensuite, vous verrez dans intellij 2 autres nouvelles icônes orange:
Une fois que vous exécutez votre application avec une application orange, dans VisualVM, votre processus est affiché à gauche et les données à droite. Asseyez-vous quelque temps et apprenez cet outil, il est très puissant:
Téléchargez ici: https://www.Eclipse.org/mat/downloads.php
J'espère que ça aide!
Vous pouvez également utiliser VisualVM Launcher pour lancer VisualVM à partir de IDEA. https://plugins.jetbrains.com/plugin/7115?pr=idea Personnellement, je trouve cela plus pratique.
Il existe également une "vue de la mémoire du débogueur JVM" trouvée dans le référentiel du plug-in, ce qui pourrait être utile.
Vous pouvez simplement exécuter "Java VisualVM" qui se trouve à l'adresse jdk/bin/jvisualvm.exe
Cela ouvrira une interface graphique, utilisez le menu "Fichier" -> "Charger ..." puis choisissez votre fichier * .hprof
Ça y est, vous avez terminé!