Kubernetes クラスター内の JRE ベースの Docker イメージを使用して Web アプリが実行されているとします (例: tomcat:9.0-jre11-temurin)。JRE ベースの Docker イメージには jstack などのツールが含まれていないため、スレッド ダンプを取得するのは簡単ではありません。 、jmap...
jattach ツールを使用してタスクを完了できます。 TLDR; jattach は、Andrei Pangin によって C で書かれたコンパクトなツールです。
まず、ツールをコンテナにダウンロードする必要があります:
コンテナ内のシェルを開きます:
kubectl -n default exec -it your-tomcat-pod -c your-tomcat-container -- bash
jaattach を作業ディレクトリにダウンロードします
cd /working-dir curl -L -O https://github.com/apangin/jattach/releases/download/v2.2/jattach chmod +x jattach
ターミナルからスレッドダンプを作成し、出力ファイルに保存します
kubectl -n default exec your-tomcat-pod \ -c your-tomcat-container -- \ /working-dir/jattach 1 threaddump > thread-dump.txt
その後、jstack.review ツールを使用してスレッド ダンプを分析できます。
以上がJRE Docker イメージ上で実行されている Java コンテナのスレッド ダンプを取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。