45 votes

Comment obtenir (à partir du terminal) le nombre total de threads (par processus et total pour tous les processus) ?

J'ai essayé de le chercher sur Google, mais je ne l'ai pas trouvé. Je cherche :

  1. nombre de threads dans le processus X

  2. nombre total de threads en cours d'exécution

68voto

colinfang Points 1297

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

ps -o nlwp <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 }'

9voto

anaken78 Points 191

Pour connaître le nombre de threads exécutant un processus unique, vous pouvez consulter la page suivante /proc/<pid>/status . Le nombre de fils doit figurer dans l'un des champs.

4voto

Mufaka Points 54

Je base cette réponse sur ps axms . ps est un excellent outil pour dresser la liste de ce qui est en cours.

Si vous souhaitez filtrer les données par processus, vous pouvez essayer quelque chose comme ceci :

echo $(( `ps axms | grep firefox | wc -l`  - 1))

Nous soustrayons 1 car grep apparaîtra dans cette liste.

Cela devrait fonctionner pour tous les fils en général :

echo $(( `ps axms | wc -l`  - 1))

Cette fois-ci, nous soustrayons un point parce qu'il y a une ligne d'en-tête.

1voto

Laksith Points 169

Pour obtenir le nombre total de threads (petits morceaux d'un processus s'exécutant simultanément) d'un processus, vous pouvez utiliser la commande ps -o nlwp <pid> Cela fonctionne tout le temps. Mais si vous préférez essayer de le voir à travers un fichier, vous devriez probablement regarder les fichiers qui ont été créés pour chaque processus du système. C'est là que vous obtiendrez les derniers détails du processus. Pour chaque processus, un dossier a été créé dans le répertoire /proc/<pid> vous pouvez également y voir tous les autres détails.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X