Comment générer un thread dump java
Publié le 30 Mars 2010
Lorsqu'on rencontre des problèmes dans une application Java, il peut être utile de générer un Thread dump.
Cette technique peut s'avérer utile lorsqu'on ne parvient pas à déterminer la cause d'un problème à travers les traces et logs de l'application, particulièrement pour diagnostiquer des problèmes de performances.
Le thread dump permet de récupérer la stack trace de la JVM c'est à dire toutes les méthodes actuellement en exécution dans la JVM ainsi que les threads qui y tournent.
Pour générer un thread dump il faut envoyer le signal SIGQUIT à la JVM. Ceci s'effectue au moyen de la commande kill:
kill -3 <process_id>
ou
kill -QUIT <process_id>
où <process_id> est le process Id de la JVM (process Java)