[JAVA] Effectuer un vidage de thread dans un environnement JRE

Sur un serveur Windows exécutant une application sur JRE, il était nécessaire d'obtenir un vidage de thread. Beaucoup de choses à penser

Je ne sais pas grand-chose, alors je me demande quel type de message d'erreur je reçois, téléchargez un JDK approprié et essayez jstack sur une application Java appropriée. J'ai pensé, mais je n'ai pas d'application Java appropriée, alors je me suis souvenu qu'Eclipse fonctionne sur Java, alors j'ai essayé Eclipse (eclipse.exe).

déplacé

(J'ai un thread dump) ↑ Mauvaise utilisation de l'en-tête (je voulais faire grand, mais c'est la seule façon de le faire)

Je ne sais pas du tout ce qu'est ver et quel environnement d'exécution Java eclipse.exe, mais je comprends cela jstack fonctionne du tout même s'il convient Ce n'est pas grave si le chemin ou le ver est différent entre jstack et le java à acquérir.

Ensuite, nous le vérifierons en supposant une acquisition en production

--Sur le serveur interne où l'application s'exécute sur JRE --Téléchargez et installez le même ver de JDK

C'est aussi OK

Allons plus loin et essayons de copier et d'exécuter uniquement jstack.exe et la bibliothèque

--Copier jstack.exe du bac JDK dans le bac JRE --Copier tools.jar de la lib JDK dans la lib JRE

java.util.ServiceConfigurationError: com.sun.tools.attach.spi.AttachProvider: Provider sun.tools.attach.WindowsAttachProvider could not be instantiated
1548: no providers installed

(Je suis désolé, j'ai écrit que j'étais capable de le faire dans le premier post, mais quand j'ai réessayé plus tard, ce n'était pas bon)

Ainsi, bien qu'il soit nécessaire d'installer le JDK, il s'est avéré que jstack peut facilement effectuer un vidage de thread même avec un partenaire JRE.

(Remarques)

―― En premier lieu, vous devez utiliser JDK depuis le début. --C'est la seule commande

jstack -l <PID>
Erreur:Soleil de classe principale.tools.jstack.JStack est introuvable ou n'a pas pu être chargé

La fin

Recommended Posts

Effectuer un vidage de thread dans un environnement JRE
Création d'un environnement de développement Lambda avec Eclipse
Création d'un servlet dans l'environnement Liberty
Deux façons de démarrer un thread en Java + @
Comment créer un environnement Java en seulement 3 secondes
[Note] Créez un environnement Python3 avec Docker dans EC2
Créez un environnement de test MySQL (+ des millions de données de test) en 5 minutes
Installez / exécutez un simulateur de robot autonome dans l'environnement wsl2 / docker!
Résoudre l'erreur CreateProcess = 206 lors de l'exécution de Java dans un environnement Windows