Java: использование Memory Analyzer Tool (MAT): сравнение двух heapdump
Я использую Eclipse + MAT плагин. Я мог видеть одну историю кучи файлов.hprof, я сделал два снимка моего Java-приложения. Хотелось бы, чтобы при сравнении двух дампов кучи я мог определить, какой экземпляр объекта сильно увеличился, чтобы я мог определить потенциальную утечку памяти.
Может ли netbean сделать это?
1 ответ
инструкции
- Откройте обе кучи в MAT
- Откройте гистограмму для любого дампа кучи, демонстрирующего аномальное поведение (обычно с более высоким использованием памяти или потоков).
- Сравните это с другим дампом кучи
- Выберите соответствующий дамп кучи из списка
Интерпретация результатов
Имя класса: класс, который создается в приложении и занимает память
Объекты: количество экземпляров этого класса выше или ниже другого дампа кучи.
Shallow Heap: количество байтов, которые данный класс занимает в памяти выше или ниже другого дампа кучи.
подсказки
Так как MAT сортирует по убыванию по умолчанию, я рекомендую переключить порядок столбцов Objects и Shallow Heap, чтобы увидеть верхние выбросы для каждого в обоих направлениях.
Обычно вы должны игнорировать чистые классы Java, такие как Strings, Arrays и Maps, и сосредоточиться на классах, которые определяет ваше приложение.
Ссылка
Сравнение объектов Официальный справочный документ по Eclipse
Осуществимо. Смотрите блог IBM.
В основном вы открываете оба, а затем в гистограмме есть дополнительная кнопка (самая правая), чтобы сравнить ее.