簡體   English   中英

沒有jstack的Java線程轉儲

[英]Java thread dump without jstack

我需要從命令行(ubuntu服務器)監視Java線程狀態以與Icinga監視器一起使用。 但是我不能使用jps,jstack和jcmd命令,因為不允許在生產服務器中安裝JDK。

ps命令的process_id

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

但是我在努力收集Java線程轉儲。 我已經嘗試使用kill -3,但是無法獲得任何輸出。

還有其他從命令行收集Java線程狀態的方法嗎?

我找到了執行kill -3 <pid>時捕獲線程轉儲的方法。 我在碼頭服務器的JAVA_OPTIONS中添加了以下選項,這有助於在指定位置記錄線程轉儲。

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

現在執行kill -3 <pid>命令將線程轉儲記錄在threaddump.log中,該線程轉儲用於了解線程狀態。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM