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).
(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