Javaのjstack分析プロセス情報
1.(19893)現在のプロセスのJavaプログラムのIDを見つけます
PS -ef | grepをjavaのと、PS -aux | grepをjavaのすべてのクエリプロセス情報、AUXは、-efは、System VスタイルBSDスタイルです。主な違いは-ef、AUX TRUNCATEコマンド列ではありません。
2.各スレッドの使用状況の現在のプロセスを見直し
現在のプロセス・スレッドのCPU使用率を表示するトップ-HP {PID}#
-hp 19893トップ #(以下は19894をpidのことに注意してください、19895 ... 26983澤はプロセスIDではありませんが、スレッドID)
プロセスの詳細を表示することにより、スレッドの状態のプロセスを表示するために3.jstack
jstack 19893
トップコマンド内に取得されたスレッドの PID、PIDは、スレッドダンプに16進数に変換し、各スレッドがNIDを有する対応するNIDを見つけるために、
19893のコマンドの結果-HPスレッドID NIDトップ、六角に対応!
例えば:ヘキサン:NID = 0x690d小数点に対応する:PID = 26893(最終行のPIDにおける第二の画像点)、trueに対応する他のスレッド〜
基本変換リファレンス記事:https://www.cnblogs.com/summerdata/p/10722144.html
懸念のダンプファイルは次のスレッドの状態です
デッドロック:デッドロック(フォーカス)
実行:Runnableを
待機リソース:待機状態の条件ON(フォーカス)
モニターを取得するために待機中:待機ONモニタエントリ(フォーカス)
一時停止:一時停止
オブジェクト待機:はObject.wait()またはTIMED_WAITING
ブロッキング:ブロックされた(フォーカス)
停止:パーク
PS:また、オブジェクトがデッドロックロックされているかどうか、ロックされた情報を調べる必要があります。
共有への知識:
-P {PID}#は、現在のプロセスの参照ファイル情報を表示するlsofを EG:lsofを-P 19893 lsofを-i:8080#は、現在のネットワーク・アクセス・ポート情報を表示するために、
スレッドの使用の現在のプロセスを表示するために上部-HP {PID}位 例えば:上部-hp 19893