Я хочу выяснить, почему использование кучи JVM на узле Elasticsearch постоянно превышает 80%. Для этого я делаю дамп кучи, запустив
jmap.exe -heap:format=b 5348
(5348 — идентификатор процесса). Затем я могу проанализировать дамп с помощью VisualVM.
Проблема в том, что jmap
приостанавливает работу JVM во время создания дампа, поэтому узел практически отключен примерно на 5 минут.
В этой статье предлагается более быстрый подход, основанный на при получении дампа ядра с помощью gdb
в Linux. Я уже пробовал WinDbg, который создавал дамп ядра, но не мог использовать его в VisualVM.
Есть ли аналогичный подход для Windows? Как можно делать дампы кучи за секунды, а не за минуты?