Некоторые инструменты OpenJDK, которые помогают в диагностике сбоев JVM:
- jstat. 1 Утилита командной строки, которая позволяет отслеживать различные статистические данные о запущенном приложении на Java. 1 Обеспечивает мониторинг памяти JVM, сборки мусора и использования потоков в реальном времени. 1
- jcmd. 1 Универсальная утилита командной строки, которая позволяет взаимодействовать с запущенным приложением на Java. 1 Предоставляет широкий спектр диагностических и troubleshooting-команд, включая мониторинг производительности. 1
- jstack. 1 Инструмент, который позволяет захватывать трассировку стека потоков приложения на Java. 1 Полезен для диагностики проблем производительности, связанных с синхронизацией потоков, блокировкой или высокой загрузкой CPU. 1
- jconsole. 1 Графический интерфейс пользователя (GUI), который позволяет контролировать и управлять запущенным приложением на Java. 1 Обеспечивает мониторинг производительности в реальном времени, включая использование CPU, памяти и активности потоков. 1
- Serviceability Agent. 5 Компонент, который запускается во внешнем процессе и читает структуры данных JVM из цели с помощью ptrace (для живого процесса) или ELF-парсинга (для дампа ядра). 5 Позволяет проводить диагностику в реальном времени и анализировать дамп ядра, чтобы видеть состояния потоков, объекты кучи, стеки вызовов и так далее. 5