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 ?

4voto

basszero Points 14539

Les distributions JDK plus récentes sont livrées avec JConsole et VisualVM. Ce sont tous deux des outils fantastiques pour obtenir des informations détaillées sur un processus Java en cours d'exécution. Si vous devez le faire de manière programmatique, étudiez JMX.

2voto

MRalwasser Points 4022

jvmtop peut afficher le nombre actuel de threads jvm en plus d'autres mesures.

2voto

Le moyen le plus simple est d'utiliser "htop". Vous pouvez installer "htop" (une version plus sophistiquée de top) qui vous montrera tous vos cœurs, processus et utilisation de la mémoire.

Appuyez sur "Shift+H" pour afficher tous les processus ou appuyez à nouveau pour les masquer. Appuyez sur la touche "F4" pour rechercher le nom de votre processus.

Installation sur Ubuntu ou Debian :

sudo apt-get install htop

Installation sur Redhat ou CentOS :

yum install htop
dnf install htop      [On Fedora 22+ releases]

Si vous voulez compiler "htop" à partir du code source, vous le trouverez à l'adresse suivante aquí .

2voto

Serge Mosin Points 357

Si vous cherchez le nombre de threads pour plusieurs processus, les autres réponses ne vous conviendront pas, car vous ne verrez pas les noms de processus ou les PIDs, ce qui les rend plutôt inutiles. Utilisez plutôt ceci :

ps -o pid,nlwp,args -p <pid_1> <pid_2> ... <pid_N>

Pour voir les changements en direct, il suffit d'ajouter watch :

watch ps -o pid,nlwp,args -p <pid_1> <pid_2> ... <pid_N>

1voto

Si vous essayez de trouver le nombre de threads utilisant le cpu pour un pid donné, j'utiliserais :

top -bc -H -n2 -p <pid> | awk '{if ($9 != "0.0" && $1 ~ /^[0-9]+$/) print $1 }' | sort -u | wc -l

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