序文
サーバー上で Java SpringBoot プログラムを実行する場合、プログラムのリアルタイム スレッド動作を理解し、トラブルシューティングを実行することが非常に重要です。これは、問題を追跡し、障害を特定し、それに応じて修正するのに役立ちます。この記事では、サーバー上の Java SpringBoot プログラムのリアルタイムのスレッド実行ステータスを表示する方法と、トラブルシューティングの手順とツールを紹介します。
この記事では主にツールjstack を使用します。jstack
は Java に付属するコマンド ライン ツールで、Java プログラムのスレッド ダンプ情報を生成し、プログラムで発生した障害の分析に役立ちます。jstack を使用してトラブルシューティングを行う手順は次のとおりです。
文章
-
Java SpringBoot プログラムのプロセス ID (PID) を見つけます:
jps コマンドでプロセス ID を見つけます (プロセス ID pid が 21711 であると仮定します) 注
: プロセス ID を見つけるための一般的な方法は、ps aux | grep [プロセス キーワード]、を使用することもできます。トップなど -
スレッド ID tid が 21742 であると仮定して、top -Hp [pid] コマンドを使用して CPU を消費するスレッドを見つけます。
top -Hp 21711
-
printf "%x\n" [tid] コマンドを使用して、スレッド ID (21742) を 16 進形式 tid16 (54ee) に変換します。
printf "%x\n" 21742
-
jstack[pid] | grep [tid16]
jstack 21711 | grep 54ee # 常结合上下文查看 -C查看该日志前后n行 jstack 21711 | grep 54ee -C10
-
他の方法では、コマンド jstack [pid] > thread_dump.txt を使用します。これにより、スレッド ダンプ情報が「thread_dump.txt」という名前のファイルに保存されます。テキスト エディタを使用してファイルを開いて、そのファイル内のスレッド情報を分析できます。
結論は
サーバー上の Java SpringBoot プログラムのリアルタイム スレッド操作を表示してトラブルシューティングを行うことは非常に重要です。jstack などのツールを使用すると、プログラムのスレッド状態を分析し、スレッド ダンプ情報を生成できます。さらに、デバッグ情報をログに記録して使用することも、トラブルシューティングの効果的な手段です。これらのツールと方法を組み合わせることで、より迅速に問題を特定し、障害を解決し、プログラムの信頼性とパフォーマンスを向上させることができます。
この記事があなたのお役に立てれば幸いです。気に入っていただけましたらフォロー、いいね、コレクションをよろしくお願いします!