Анализ удаленного дампа большой кучи

У меня есть дамп кучи Java размером около 70 ГБ на удаленной машине Debian, я не могу проанализировать его на своей локальной машине с помощью MAT, хотя я могу получить обзор и отчеты о подозрительных утечках в виде HTML-страниц, но они краткие и есть href для объектов, которые ни на что не указывают (возможно, MAT не имеет в виду создание реальных ссылок, а только для целей стилизации).

Однако есть ли способ полностью проанализировать дамп кучи такого размера?


person Aladdin    schedule 08.09.2019    source источник


Ответы (1)


Если вы не можете запустить MAT на этом сервере, вы можете запустить утилиту jhat.

Он запустит веб-сервер на порту (который вы можете переопределить) и предоставит веб-консоль и язык запросов под названием OQL (язык объектных запросов), который вы можете использовать для анализа дампа кучи. Это чем-то похоже на SQL.

Вот пример:

jhat -J-Xmx32g -port 7000 <PATH_TO_HEAPDUMP>

И затем доступ в браузере:

http://<IP>:7000

Существует множество руководств по OQL, вот — одно из них

person Mark Bramnik    schedule 08.09.2019