ラーフルKhandelwal:
私は、一定間隔でスレッドダンプを取るためJStackコマンドを実行しています。
私は、JStackが実行されるたびにすることを目標プロセスの停止のすべてのスレッドを観察しています。私はJStack実行の期間のためのログを発見した私のlog4j 2のログを見た後にこの結論に達しました。
誰かが私に/ JSTackの一時停止を行い、ターゲット・プロセス内のすべてのスレッドを停止伝えることはできますか?
ピーターLawrey:
任意のスレッド(だけでも、1)のスタックトレースを取ることはセーフポイントにすべてのスレッドをもたらします。あなたがこれを見ることができます
これは、JVMが何らかの理由で停止するたびに出力する(だけでなく、GC)
-XX:+PrintGCApplicationStoppedTime
これは、停止の理由を含む統計情報を表示します。
-XX:+PrintSafepointStatistics -XX:PrintSafepointStatisticsCount=1
スレッド固有のストップがしかし、導入する計画がありjstack
、すべてのスレッドをセーフポイントする必要がありますが。