Ответ 1
Лучше всего использовать Memory Analyzer (MAT), IntelliJ не имеет встроенного анализатора дампов кучи.
Я создал дамп кучи из моего приложения java, которое в течение нескольких дней работает с инструментом jmap
→ это приводит к большому двоичному файлу дампа кучи.
Как я могу выполнить анализ памяти этого кучи кучи в IntellIJ IDEA?
Я знаю, что есть инструменты для Eclipse и Netbeans, но я предпочел бы использовать IDEA, если это возможно.
Основные результаты анализа скажут мне количество экземпляров каждого объекта в памяти, для каждого класса, чтобы я мог начать отлаживать утечки памяти.
Лучше всего использовать Memory Analyzer (MAT), IntelliJ не имеет встроенного анализатора дампов кучи.
Я хотел бы обновить приведенные выше ответы до 2018 года и сказать, что нужно использовать VisualVM и Eclipse MAT.
VisualVM используется для мониторинга в реальном времени и кучи дампов. Вы также можете анализировать дампы кучи с большой мощностью, однако у MAT есть больше возможностей (таких как автоматический анализ для обнаружения утечек), и поэтому я прочитал вывод дампов VisualVM (файл .hprof) в MAT.
Загрузите VisualVM здесь: https://visualvm.github.io/
Вам также нужно скачать плагин для Intellij:
Тогда вы увидите в intellij еще 2 новых оранжевых значка:
Как только вы запустите свое приложение с оранжевым, в VisualVM вы увидите ваш процесс слева, а данные - справа. Посидите некоторое время и изучите этот инструмент, он очень мощный:
Скачать здесь: https://www.eclipse.org/mat/downloads.php
Надеюсь, поможет!
Вы также можете использовать VisualVM Launcher для запуска VisualVM из IDEA. https://plugins.jetbrains.com/plugin/7115?pr=idea Я лично считаю это более удобным.
В репозитории плагинов также есть "JVM Debugger Memory View", который может быть полезен.
Вы можете просто запустить "Java VisualVM", который находится по адресу jdk/bin/jvisualvm.exe
Это откроет графический интерфейс, используйте меню "Файл" → "Загрузить...", затем выберите файл *.hprof.
Вот и все, вы сделали!
Вы можете установить плагин JVisualVM отсюда: https://plugins.jetbrains.com/plugin/3749?pr=
Это позволит вам проанализировать дамп внутри плагина.
Я просто установил плагин с именем JVM Bugger Analyzer, он отлично работает!