Есть ли инструмент для анализа большого дампа Java Heap (2 ГБ), если можно назначить только 1,5 ГБ к JVM? Я не могу поверить, что дамп должен быть полностью загружен в память для анализа ...
Eclipse MemoryAnalyzer дает сбой, и инструмент IBM тоже.
Нужно ли мне сейчас использовать инструменты командной строки?
Одно решение состоит в том, чтобы установить MAT tool
на удаленном сервере и генерировать вывод HTML анализа, чтобы загрузить и просмотреть локально. Это сохраняет головную боль попытки установить X-окна на удаленной машине и получить весь из ssh
туннелирование, в котором разбираются (который является, конечно, опцией также).
Первый, загрузите и установите автономный Eclipse Приложение RCP. Затем передайте своему серверу и распакуйте. Затем определите, насколько большой дамп "кучи" и, при необходимости, измените MemoryAnalyzer.in, который я регистрирую для инстанцирования JVM с достаточным количеством RAM для дампа "кучи".
В этом примере, я имею дамп "кучи" на 11 ГБ и изменил последние две строки (добавляющий-Xms)
-startup
plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_64_1.1.300.v20150602-1417
-vmargs
-Xmx16g
-Xms16g
, Делают начальную букву, выполненную для парсинга дампа "кучи". Это генерирует посреднические данные, которые могут использоваться последующими выполнениями для создания будущего анализа быстрее.
./ParseHeapDump.sh /path/to/heap-dump
После этого завершается, можно выполнить любой много других анализов данных. Следующее является иллюстрацией того, как искать подозреваемых утечки памяти.
./ParseHeapDump.sh /path/to/heap-dump org.eclipse.mat.api:suspec
К сожалению, ЦИНОВКА Eclipse и все аналитические инструменты дампа "кучи" загружают весь дамп "кучи" в память, чтобы сделать анализ. Если ЦИНОВКА Eclipse перестала работать для Вас, можно попробовать инструмент HeapHero. JHAT берут сведения больше памяти и время, чем ЦИНОВКА Eclipse для анализа дампов "кучи".