Как я могу проанализировать дамп кучи в IntelliJ? (утечка памяти)

Я создал дамп кучи из моего приложения java, которое работает в течение нескольких дней с jmap tool - > это приводит к большому двоичному файлу дампа кучи.

Как я могу выполнить анализ памяти этого дампа кучи в IntelliJ IDEA?

Я знаю, что есть инструменты для Eclipse и Netbeans, но я бы предпочел использовать IDEA, если это возможно.

основные результаты анализа скажите мне количество экземпляров каждого объекта в памяти, для каждого класса, чтобы я мог начать отладку утечек памяти.

6 ответов


лучшее, что есть анализатор памяти (MAT), IntelliJ не имеет анализатора кучи в комплекте.


вы также можете использовать VisualVM Launcher для запуска VisualVM из идеи. https://plugins.jetbrains.com/plugin/7115?pr=idea Лично я нахожу это более удобным.


существует также "представление памяти отладчика JVM", найденное в репозитории плагинов, что может быть полезно.


вы можете просто запустить "Java VisualVM", который находится в jdk/bin/jvisualvm.exe

Это откроет графический интерфейс, используйте меню" Файл "- > " загрузить...- тогда выбери свою *.hprof файл


Я хотел бы обновить ответы выше до 2018 года и сказать, чтобы использовать VisualVM и Eclipse MAT.

Как использовать:

VisualVM используется для живого мониторинга и кучи дампа. Вы также можете анализировать свалки кучи там с большой мощностью, однако MAT имеет больше возможностей (например, автоматический анализ для поиска утечек), и поэтому я читаю вывод дампа VisualVM (.файл hprof) в мат.



Получить VisualVM:

, Который VisualVM Скачать вот:https://visualvm.github.io/

вам также необходимо скачать плагин для Intellij: enter image description here

тогда вы увидите в intellij еще 2 новых оранжевых значка:enter image description here

Как только вы запустите приложение с оранжевым, в VisualVM вы увидите свой процесс слева и данные справа. Посидите немного и изучите этот инструмент, он очень мощный: enter image description here



получить инструмент анализа памяти Eclipse (MAT) как автономный:

скачать здесь:https://www.eclipse.org/mat/downloads.php

и вот как это выглядит: enter image description here enter image description here

надеюсь, что это помогает!


вы можете установить плагин JVisualVM отсюда:https://plugins.jetbrains.com/plugin/3749?pr=

Это позволит вам проанализировать дамп внутри плагина.