Дамп потока Java без jstack - PullRequest
0 голосов
/ 08 декабря 2018

Мне нужно отслеживать состояние потока Java из командной строки (сервер Ubuntu) для использования с монитором Icinga.Но я не могу использовать команды jps, jstack и jcmd, поскольку на рабочем сервере не разрешено устанавливать JDK.

Process_id с командой ps

# ps -ef| grep [s]tart.jar | cut -d' ' -f6
1201

Но я изо всех сил пытаюсь собрать поток Javaсвалка.Я пытался с kill -3, но не смог получить никакого вывода.

Есть ли другие альтернативные способы получения статуса потока Java из командной строки?

1 Ответ

0 голосов
/ 08 декабря 2018

Я нашел способ захватить дамп потока при выполнении kill -3 <pid>.Я добавил следующие параметры в JAVA_OPTIONS на сервере Jetty, который помогает записывать дамп потока в указанном месте.

-XX:+UnlockDiagnosticVMOptions -XX:+LogVMOutput -XX:LogFile=/var/log/jetty9/threaddump.log

Теперь выполнение kill -3 <pid> команды записывает дамп потока в файле threaddump.log, который используется для определения состояниярезьб.

...