Les types de stratégies de planification et leurs descriptions sortent du cadre de cet article. (Il peut être ajouté plus tard)
Utilisez la commande chrt. Spécifiez FIFO avec -f.
$ sudo chrt -f 38 yes > /dev/null &
Confirmation de la politique.
$ sudo chrt -p 32407
pid 32407's current scheduling policy: SCHED_OTHER
pid 32407's current scheduling priority: 0
Ensuite, c'est SCHED_OTHER. Pourquoi···
$ sudo chrt -f 1 yes > /dev/null &
La politique de planification affichée par chrt -p et la politique de planification affichée par cls de la commande ps sont différentes. (FF doit être SCHED_FIFO)
$ ps -C yes -o comm,pid,ppid,cls,rtprio,%cpu
COMMAND PID PPID CLS RTPRIO %CPU
yes 27629 27628 FF 1 94.2
$
$ chrt -p 27629
pid 27629's current scheduling policy: SCHED_OTHER
pid 27629's current scheduling priority: 0
Pourquoi···
Les deux processus suivants exécutant le même programme (1) Un processus dans lequel le processus SCHED_FIFO est changé en SCHED_OTHER par chrt. (2) Processus SCHED_OTHER
En regardant la sortie de top, les deux ont à peu près la même utilisation du processeur.
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
626 ec2-user 20 0 132m 7088 4304 R 49.8 0.7 7:53.42 cpu_bound.py
722 ec2-user 20 0 132m 6980 4196 R 49.8 0.7 3:45.94 cpu_bound.py
En vérifiant avec la commande ps, l'utilisation du processeur est biaisée comme indiqué ci-dessous.
[ec2-user@ip-172-21-0-185 experiment]$ ps -C cpu_bound.py -o comm,pid,ppid,cls,rtprio,pri,ni,%cpu
COMMAND PID PPID CLS RTPRIO PRI NI %CPU
cpu_bound.py 626 26292 TS - 19 0 69.1
cpu_bound.py 722 26292 TS - 19 0 35.4
Pourquoi··· De plus, il est mystérieux que le total de% CPU dépasse 100.
Recommended Posts