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 s'exécute depuis quelques jours avec l'outil jmap - > il en résulte un gros fichier de vidage de tas binaire.

Comment puis-je effectuer une analyse de la 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ère 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.

Author: vikingsteve, 2014-10-20

6 answers

La meilleure chose qui existe estMemory Analyzer (MAT) , IntelliJ n'a pas d'analyseur de vidage de tas fourni.

 28
Author: Meo, 2014-10-20 08:06:04

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.

 7
Author: Katerina A., 2014-10-20 07:36:03

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.

 4
Author: Deniss M., 2016-12-11 18:00:38

Vous pouvez simplement exécuter "Java VisualVM" qui se trouve à jdk/bin/jvisualvm.exe

Cela ouvrira une interface graphique, utilisez le menu "Fichier" - > "Charger..."alors choisissez votre *.fichier hprof

Ça y est, vous avez terminé!

 1
Author: jaken chen, 2018-06-05 07:24:04

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 là-bas avec une grande puissance, mais MAT ont plus de capacités (telles que l'analyse automatique pour trouver des fuites) et donc, j'ai lu la sortie de vidage VisualVM (.fichier hprof) dans MAT.



Obtenir VisualVM:

Télécharger VisualVM ici: https://visualvm.github.io/

Vous devez également télécharger le plugin pour Intellij: entrez la description de l'image ici

Ensuite, vous verrez dans intellij 2 autres nouvelles icônes orange: entrez la description de l'image ici

Une fois que vous exécutez votre application avec une orange, dans VisualVM, vous verrez votre processus à gauche et les données à droite. Asseyez - vous un peu de temps et apprenez cet outil, il est très puissant: entrez la description de l'image ici



Obtenez l'outil d'analyse de la mémoire (MAT) d'Eclipse en tant que autonome:

Télécharger ici: https://www.eclipse.org/mat/downloads.php

Et voici à quoi ça ressemble: entrez la description de l'image ici entrez la description de l'image ici

J'espère que ça aide!

 1
Author: nbtk, 2018-07-13 14:50:33

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.

 -1
Author: mcfinnigan, 2014-10-20 07:33:32