OVH Cloud OVH Cloud

Threads noyau et PID

2 réponses
Avatar
Vincent Hiribarren
Bonjour à tous,

je ne comprends pas trop la repartition des pid pour les threads
noyaux.

Sur d'anciens systemes, chaque thread semble avoir un pid different,
comme s'il s'agissait de processus differents.

Sur mon systeme (en l'occurence un noyau 2.4.21),
ont pour pid 0 kswapd, bdflush, kupdated et ksoftirq_CPU0,
pour pid 2 keventd, pid 8 khubd.

Quelqu'un saurait cmment se fait cette repartition ?

D'autre part, une question plus bete : pourquoi l'ordonnanceur ne
semble pas etre representé lui aussi par un thread noyau auquel on
attribue un pid ? Ou je me trompe ?

Merci pour vos reponses.

--
Pour contacter l'équipe de modération : moderateurs-fcolm@efrei.fr
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.

2 réponses

Avatar
Did0
Vincent Hiribarren writes:
je ne comprends pas trop la repartition des pid pour les threads
noyaux.
Sur d'anciens systemes, chaque thread semble avoir un pid different,
comme s'il s'agissait de processus differents.
Sur mon systeme (en l'occurence un noyau 2.4.21),
ont pour pid 0 kswapd, bdflush, kupdated et ksoftirq_CPU0,
pour pid 2 keventd, pid 8 khubd.



Bien que les commandes 'ps' et 'top' appartiennent au même paquet
(sous debian : procps), il semblerait qu'elles n'utilisent pas les
mêmes sources pour afficher leurs infos :

# for i in `seq 1 6`;do cat /proc/$i/status;done | grep -E '^(Pid|Tgid|Name):'
Name: init
Tgid: 1
Pid: 1
Name: keventd
Tgid: 2
Pid: 2
Name: ksoftirqd_CPU0
Tgid: 0
Pid: 3
Name: kswapd
Tgid: 0
Pid: 4
Name: bdflush
Tgid: 0
Pid: 5
Name: kupdated
Tgid: 0
Pid: 6

ps se base sur 'Tgid' alors que top utilise plutôt le champ 'Pid'.

--
Dido

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.
Avatar
Qing Liu
Did0 writes:

Bien que les commandes 'ps' et 'top' appartiennent au même paquet
(sous debian : procps), il semblerait qu'elles n'utilisent pas les
mêmes sources pour afficher leurs infos :



Il me semble avoir vu que le ps dans debian est buggé. Ici (slackware 9.1):

$ ps axu|head -10
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 488 68 ? S 19:56 0:04 init
root 2 0.0 0.0 0 0 ? SW 19:56 0:01 [keventd]
root 3 0.0 0.0 0 0 ? SWN 19:56 0:00 [ksoftirqd_CPU0]
root 4 0.0 0.0 0 0 ? SW 19:56 0:00 [kswapd]
root 5 0.0 0.0 0 0 ? SW 19:56 0:00 [bdflush]
root 6 0.0 0.0 0 0 ? SW 19:56 0:00 [kupdated]
root 7 1.1 0.0 0 0 ? SW 19:56 2:08 [kswsuspd]
root 8 0.0 0.0 0 0 ? SW 19:56 0:00 [kjournald]
root 25 0.0 0.0 0 0 ? SW 19:56 0:00 [kjournald]

$ ps -V
procps version 2.0.16

--
Liu

--
Pour contacter l'équipe de modération :
ATTENTION: Postez DIRECTEMENT vos articles dans le groupe, PAS dans
la liste de distribution des modérateurs.