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 ?

174voto

slav0nic Points 1049

Essayez

ps huH p <PID_OF_U_PROCESS> | wc -l

o htop

113voto

Thejaswi R Points 1157

Pour obtenir le nombre de threads pour un pid donné :

$ ps -o nlwp <pid>

nlwp signifie Nombre de processus légers (threads) . Así, ps alias nlwp a thcount ce qui signifie que

$ ps -o thcount <pid>

fonctionne également.

Si vous voulez contrôler le nombre de fils, utilisez simplement watch :

$ watch ps -o thcount <pid>

Pour obtenir la somme de tous les threads en cours d'exécution dans le système :

$ ps -eo nlwp | tail -n +2 | awk '{ num_threads += $1 } END { print num_threads }'

67voto

bdonlan Points 90068

Chaque thread d'un processus crée un répertoire sous /proc/<pid>/task . Comptez le nombre de répertoires, et vous avez le nombre de fils.

46voto

PbxMan Points 2223
cat /proc/<PROCESS_PID>/status | grep Threads

21voto

ps -eLf sur le shell vous donnera une liste de tous les threads et processus en cours d'exécution sur le système. Ou bien, vous pouvez exécuter top puis appuyez sur 'H' pour passer d'une liste de fils à l'autre.

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