172 votes

Comment puis-je surveiller le nombre de threads d'un processus sous linux ?

Je voudrais surveiller le nombre de threads utilisés par un processus spécifique sous Linux. Existe-t-il un moyen simple d'obtenir cette information sans affecter les performances du processus ?

1voto

Andreas Foteas Points 192

Si vous voulez le nombre de threads par utilisateur dans un système linux, vous devez utiliser :

ps -eLf | grep <USER> | awk '{ num += $6 } END { print num }'

où comme <USER> utilisez le nom d'utilisateur souhaité.

0voto

Partly Cloudy Points 855

Si vous êtes intéressé par ces fils qui sont vraiment actif -- c'est-à-dire faire quelque chose (pas bloqué, pas timed_waiting, pas de déclaration de "thread running" mais vraiment l'attente d'un flux pour fournir des données) par opposition à rester assis sans rien faire mais en direct -- alors vous pourriez être intéressé par jstack-active .

Ce simple bash script s'exécute jstack filtre ensuite tous les threads qui, par heuristique, semblent tourner au ralenti, en vous montrant les traces de pile des threads qui consomment réellement des cycles CPU.

-1voto

DiveInto Points 599

VisualVM peut montrer les états clairs des threads d'un processus JVM donné.

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X