Skip to main content

Posts

Showing posts from May, 2011

Analyse d'un "thread dump" d'une JVM IBM sous AIX

Dans quels cas le thread dump est utile ? Le thread dump est un instantané de l'activité des threads de la JVM. Leur analyse est intéressante dans les cas où l'activité de la JVM ne semble pas normale : Activité suspendue (deadlock/ interblocage ) ou partiellement suspendue (starvation/ famine ) Activité existante mais le "débit" est en deçà de ce qui est attendu (Goulot d'étranglement / Bottleneck) Activité existante mais le "débit" reste nul (Boucle infinie / Infinite Loop) Comment avoir un thread dump ? Nous nous limitons ici à la machine virtuel IBM sous AIX. Dans ce cas là il est extrêmement simple de déclencher la création d'un thread dump : il suffit de faire un kill -3 sur le processus Java. Un fichier dont le nom est javacore. [date] . [numero_processus] . [compteur] .txt est produit. Sur la sortie standard du processus vous devriez voir la ligne suivante s'afficher : JVMDUMP010I Java Dump written to ..... En général le dump