Захват heapdump для весенней загрузки - PullRequest
0 голосов
/ 05 апреля 2019

Я новичок в анализе кучи. Мы использовали весеннюю загрузку в нашем веб-приложении. В последнее время использование кучи стало слишком высоким. Чтобы проанализировать дамп кучи с помощью таких инструментов, как Mat и JProfiler, я загружаю его с помощью привода следующим образом:

http://localhost:8080/actuator/heapdump

Но каждый раз, когда я беру дамп кучи, использование кучи становится низким. Я подозреваю, что все это время GC пинает Пожалуйста, исправьте, если я ошибаюсь. Так что я не могу уловить реальный сценарий. Есть ли способ получить дамп кучи без запуска GC? Или, в любом случае, когда использование кучи увеличивается более чем на 500 МБ, генерируется heapdump.

1 Ответ

1 голос
/ 05 апреля 2019

У вас может быть задача @Scheduled, которая позволит вам регулярно использовать кучу и генерировать 500 МБ heapdump. Вы можете использовать ManagementFactory.getMemoryPoolMXBeans();, он показывает различные области кучи и их использование.

Чтобы сделать это внешне:

Вы можете использовать jstat для внешнего мониторинга использования кучи. Оберните его в скрипт, который будет анализировать jstat -gc, а затем использовать jmap, чтобы получить дамп кучи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...