Как я могу проанализировать дамп кучи в 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:
тогда вы увидите в intellij еще 2 новых оранжевых значка:
Как только вы запустите приложение с оранжевым, в VisualVM вы увидите свой процесс слева и данные справа. Посидите немного и изучите этот инструмент, он очень мощный:
получить инструмент анализа памяти Eclipse (MAT) как автономный:
скачать здесь:https://www.eclipse.org/mat/downloads.php
надеюсь, что это помогает!
вы можете установить плагин JVisualVM отсюда:https://plugins.jetbrains.com/plugin/3749?pr=
Это позволит вам проанализировать дамп внутри плагина.