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 ?

8voto

flexo Points 77

Si vous utilisez :

ps uH p <PID_OF_U_PROCESS> | wc -l

Vous devez soustraire 1 au résultat, car l'une des lignes que "wc" compte est l'en-tête de la commande "ps".

8voto

Avinash Reddy Points 81

$ ps H p pid-id

H - Liste tous les threads individuels d'un processus

o

$cat /proc/pid-id/status

pid-id est l'ID du processus

eg.. (La sortie ci-dessous a été tronquée)

root@abc:~# cat /proc/8443/status
Name:   abcdd
State:  S (sleeping)
Tgid:   8443
VmSwap:        0 kB
Threads:    4
SigQ:   0/256556
SigPnd: 0000000000000000

6voto

Rachel Points 21

JStack est assez peu coûteux - une option serait de faire passer la sortie par grep pour trouver les fils actifs, puis de la faire passer par wc -l.

JConsole, qui affiche le nombre de threads pour un processus donné, est plus graphique.

6voto

jlliagre Points 9325

Voici une commande qui affiche le nombre de threads d'un processus donné :

ps -L -o pid= -p <pid> | wc -l

Contrairement aux autres ps il n'y a pas besoin ici de soustraire 1 de sa sortie car il n'y a pas de ps grâce à la ligne d'en-tête -o pid= option.

6voto

Aleksey Kanaev Points 26

Ma réponse est plus gui, mais toujours dans le terminal. Htop peut être utilisé avec un peu de configuration.

  1. Démarrer htop.
  2. Entrez dans le menu de configuration en appuyant sur F2.
  3. Dans la colonne la plus à gauche, choisissez "Colonnes".
  4. Dans la colonne la plus à droite, choisissez la colonne à ajouter à la sortie principale de surveillance, "NLWP" est ce que vous recherchez.
  5. Appuyez sur F10.

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