Comment puis-je analyser un vidage de tas dans IntelliJ? (fuite de mémoire)
J'ai généré un vidage de tas à partir de mon application java qui fonctionne depuis quelques jours avec l'outil jmap
- > Il en résulte un fichier de vidage de tas binaire volumineux.
Comment puis-je effectuer une analyse de mémoire de ce vidage de 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 diraient le nombre d'instances de chaque objet en mémoire, par classe, pour me permettre d'être capable de commencer à déboguer les fuites de mémoire.
6 réponses
La meilleure chose à faire est Memory Analyzer (MAT) , IntelliJ n'a aucun analyseur de vidage de tas fourni.
Vous pouvez également utiliser VisualVM Launcher pour lancer VisualVM depuis IDEA. https://plugins.jetbrains.com/plugin/7115?pr=idea Personnellement, je trouve cela plus pratique.
Il existe également une "vue mémoire du Débogueur JVM" trouvée dans le référentiel du plugin, ce qui pourrait être utile.
Vous pouvez simplement exécuter "Java VisualVM" qui est situé à jdk/bin/jvisualvm.exe
Cela ouvrira une interface graphique, utilisez le menu" Fichier "- > " Charger..."puis choisissez votre *.fichier hprof
C'est tout, vous avez terminé!
Je voudrais mettre à jour les réponses ci-dessus à 2018 et dire d'utiliser à la fois VisualVM et Eclipse MAT.
Comment utiliser:
VisualVM est utilisé pour la surveillance en direct et le tas de vidage. Vous pouvez également analyser les décharges de tas avec une grande puissance, mais tapis ont plus de capacités (telles que l'analyse automatique pour trouver des fuites)et donc, je lis la sortie de vidage VisualVM (.fichier hprof) dans MAT.
Obtenir VisualVM:
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, vous verrez votre processus sur la gauche et les données sur la droite. Asseyez-vous un peu de temps et d'apprendre cet outil, il est très puissant:
Récupère L'outil D'analyse de mémoire (MAT) D'Eclipse autonome:
Télécharger ici: https://www.eclipse.org/mat/downloads.php
J'espère que ça aide!
Vous pouvez installer le plugin JVisualVM à partir d'ici: https://plugins.jetbrains.com/plugin/3749?pr=
Cela vous permettra d'analyser le vidage dans le plugin.