Утилиты:
jps - показывает только JVM процессы, и команды, которыми они были запущены
jstat - получение статистики по работающему процессу: всевозможные опции по работе GC; работа класслоудера - что загружает, что выгружает (
-class); JIT компиляция
-compiler и -printcompilation . Обычно неплохо получить несколько снимков за короткий промежуток времени, чтобы не снять тот, момент, когда злоумышлениик спрятался. Указываем pid промежуток времени в милисекундах между снимками и количество снимков.
jmap - делает снимок текущего состояния кучи.
jstack - делается снимок состояния текущего стектрейса приложения.
jhat - подымает http/html сервер, который выводит информацию по дампу в браузер, кроме того с помощью специального языка мы можем OQL(похож на sql) искать в дампе то что нам нужно
1) Шаг 1. Узнаем pid нашего приложения.
$ jps
2) Шаг 2 - снимаем jstack-том треддамп и находим нужные потоки для анализа по идентификаторам, которые мы запомнили с Шага 1.
$ jstack 24151 > stacktrace.log
3) Шаг 3.
$ top -Р
Видим потоки jvm отдельными(linux системные потоки). Замечаем, какие потоки едят процессорные мощности, запоминаем их идентификаторы.
4) Шаг 4.
Переводим в 16-ю систему айди тредов и ищем его в дампе - смотрим что с ним происходит.
$ grep -A30 0x5FB9 stacktrace.log