Maison >Java >javaDidacticiel >Récupérer le thread dump du conteneur Java exécuté sur l'image Docker JRE
Étant donné une application Web exécutée avec une image Docker basée sur JRE dans le cluster Kubernetes, exemple : tomcat:9.0-jre11-temurin, il n'est pas facile d'obtenir le thread dump car l'image Docker basée sur JRE n'inclut pas les outils comme jstack , jmap...
Nous pouvons utiliser les outils jattach pour accomplir notre tâche. TLDR ; jattach est un outil compact écrit en C par Andrei Pangin.
Nous devons d'abord télécharger l'outil dans le conteneur :
Ouvrez la coque dans le conteneur :
kubectl -n default exec -it your-tomcat-pod -c your-tomcat-container -- bash
Téléchargez le jattach dans le répertoire de travail
cd /working-dir curl -L -O https://github.com/apangin/jattach/releases/download/v2.2/jattach chmod +x jattach
Depuis votre terminal, créez un thread dump et stockez-le dans le fichier de sortie
kubectl -n default exec your-tomcat-pod \ -c your-tomcat-container -- \ /working-dir/jattach 1 threaddump > thread-dump.txt
Ensuite, vous pouvez utiliser l'outil jstack.review pour analyser le thread dump.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!