ホームページ  >  記事  >  Java  >  JRE Docker イメージ上で実行されている Java コンテナのスレッド ダンプを取得する

JRE Docker イメージ上で実行されている Java コンテナのスレッド ダンプを取得する

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-03 22:24:31512ブラウズ

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 ツールを使用してスレッド ダンプを分析できます。

Get thread dump of Java container running on JRE Docker image

以上がJRE Docker イメージ上で実行されている Java コンテナのスレッド ダンプを取得するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。