Comment pouvez-vous générer et d'analyser un thread dump de l'exécution d'un JBoss exemple?
Comment pouvez-vous générer et d'analyser un thread dump de l'exécution d'un JBoss exemple?
Voir community.jboss.org/wiki/ThreadDump pour certaines options.
OriginalL'auteur Teflon Ted | 2008-09-12
Vous devez vous connecter pour publier un commentaire.
Il y a une JBoss-méthode spécifique qui est un peu plus convivial:
http://community.jboss.org/wiki/GenerateAThreadDumpWithTheJMXConsole
Ceci est particulièrement utile lorsque vous n'avez pas un accès direct à l'ordinateur hôte (qui "tuer" aurait besoin).
OriginalL'auteur Matt Solnit
http://java.sun.com/developer/technicalArticles/Programming/Stacktrace/
...
"Sur les plates-formes UNIX, vous pouvez envoyer un signal à un programme à l'aide de la commande kill. C'est le signal de fin, qui est gérée par la JVM. Par exemple, sur un système Solaris, vous pouvez utiliser la commande kill-QUIT process_id, où process_id est le numéro de processus de votre programme Java.
Alternativement, vous pouvez entrer la clé de la séquence <ctrl>\ dans la fenêtre où le programme Java a été commencé. L'envoi de ce signal indique un gestionnaire de signal dans la JVM, de manière récursive d'imprimer toutes les informations sur les fils et les moniteurs à l'intérieur de la JVM."
...
"Déterminer le Fil États
Vous allez voir beaucoup de différents threads dans de nombreux états différents dans un snapshot d'une machine virtuelle java trace de la pile. La clé utilisée est:
R en cours d'Exécution ou exécutable fil
S thread Suspendue
CW Thread en attente sur une variable de condition
MW Thread en attente sur un écran de verrouillage
MS Thread suspendu en attente sur un écran de verrouillage"
OriginalL'auteur Teflon Ted
La stacktrace app trouvé ici est aussi utile, surtout sur les machines Windows lors de l'application java n'est pas démarré à partir de la ligne de commande.
OriginalL'auteur Andrei
Fil.getAllStackTraces() (depuis Java 1.5)
OriginalL'auteur user98761
Deux options:
OPTION 1 Générer un thread dump l'aide de la Console JMX
Afin de générer un thread dump:
http://localhost:8080
)jboss.system:type=ServerInfo
mbean (astuce: vous pouvez probablement juste CTRL-F et entrez le type=ServerInfo dans la boîte de dialogue)listThreadDump
Notes:
Si vous utilisez Internet Explorer, vous devez utiliser
File > Save As
pour enregistrer la sortie au lieu de copier les données dans un éditeur de texte. Pour une raison quelconque, lorsque vous copiez du texte à partir d'Internet Explorer, les sauts de ligne ne sont pas copiés et la totalité de la production se termine sur une seule ligne.OPTION 2 Générer un Thread Dump l'aide de l'Ornement
Alternativement, vous pouvez utiliser l'ornement pour exécuter la
listThreadDump()
méthode et pipe le code HTML renvoyé directement vers un fichier. Utiliser cette ligne de commande:OriginalL'auteur Stephan
Parfois JBoss serrures tellement que même jmx-concole ne répond pas.
Dans de tels cas, l'utilisation de tuer -3 sur Linux et SendSignal sur Windows.
OriginalL'auteur Vadzim
https://community.jboss.org/wiki/ThreadDumpJSP fonctions de la page autonome autonome threaddump.la guerre qui peut être utilisé sans JMX.
OriginalL'auteur Vadzim