Heim >Java >javaLernprogramm >Holen Sie sich den Thread-Dump des Java-Containers, der auf dem JRE-Docker-Image ausgeführt wird

Holen Sie sich den Thread-Dump des Java-Containers, der auf dem JRE-Docker-Image ausgeführt wird

Patricia Arquette
Patricia ArquetteOriginal
2024-11-03 22:24:31594Durchsuche

Bei einer Webanwendung, die mit einem JRE-basierten Docker-Image im Kubernetes-Cluster ausgeführt wird, Beispiel: tomcat:9.0-jre11-temurin, ist das Abrufen des Thread-Dumps nicht einfach, da das JRE-basierte Docker-Image keine Tools wie jstack enthält , jmap...

Wir können Jattach-Tools verwenden, um unsere Aufgabe zu erledigen. TLDR; jattach ist ein kompaktes Tool, das von Andrei Pangin in C geschrieben wurde.

Zuerst müssen wir das Tool in den Container herunterladen:

Öffnen Sie die Schale im Behälter:

kubectl -n default exec -it your-tomcat-pod -c your-tomcat-container -- bash

Laden Sie den Jattach in das Arbeitsverzeichnis herunter

cd /working-dir

curl -L -O https://github.com/apangin/jattach/releases/download/v2.2/jattach 

chmod +x jattach

Erstellen Sie von Ihrem Terminal aus einen Thread-Dump und speichern Sie ihn in der Ausgabedatei

kubectl -n default exec your-tomcat-pod \
  -c your-tomcat-container  -- \
  /working-dir/jattach 1 threaddump > thread-dump.txt

Dann können Sie das Tool jstack.review verwenden, um den Thread-Dump zu analysieren.

Get thread dump of Java container running on JRE Docker image

Das obige ist der detaillierte Inhalt vonHolen Sie sich den Thread-Dump des Java-Containers, der auf dem JRE-Docker-Image ausgeführt wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn