Starten Sie einen Prozess mit einer Planungsrichtlinie unter Linux

Die Arten von Planungsrichtlinien und ihre Beschreibungen gehen über den Rahmen dieses Artikels hinaus. (Es kann später hinzugefügt werden)

So starten Sie einen Prozess mit einer Planungsrichtlinie

Verwenden Sie den Befehl chrt. Geben Sie FIFO mit -f an.

$ sudo  chrt -f 38 yes > /dev/null &

Richtlinienbestätigung.

$ sudo chrt -p 32407
pid 32407's current scheduling policy: SCHED_OTHER
pid 32407's current scheduling priority: 0

Dann ist es SCHED_OTHER. Warum···

Zusätzliche Forschung

$ sudo chrt -f 1 yes > /dev/null &

Die von chrt -p angezeigte Planungsrichtlinie und die von cls des Befehls ps angezeigte Planungsrichtlinie unterscheiden sich. (FF sollte SCHED_FIFO sein)

$ 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

Warum···

Leises Gespräch

Die folgenden zwei Prozesse führen dasselbe Programm aus (1) Ein Prozess, bei dem der SCHED_FIFO-Prozess von chrt in SCHED_OTHER geändert wird. (2) SCHED_OTHER-Prozess

Betrachtet man die Ausgabe von top, haben beide ungefähr die gleiche CPU-Auslastung.

  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

Wenn Sie mit dem Befehl ps prüfen, wird die CPU-Auslastung wie unten gezeigt verzerrt.

[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

Warum··· Darüber hinaus ist es ein Rätsel, dass die Gesamtzahl der% CPU 100 überschreitet.

Recommended Posts

Starten Sie einen Prozess mit einer Planungsrichtlinie unter Linux
Führen Sie einen Linux-Server mit GCP aus
Erstellen Sie eine Linux-Umgebung unter Windows 10
PBR (Policy Base Routing) unter Linux
Erstellen Sie ein Docker-Container-Image mit JRE8 / JDK8 unter Amazon Linux
Vorgehensweise zum Erstellen einer Kube-Umgebung unter Amazon Linux2 (aws) ~ (mit Bonus)
X86 Assembler unter Linux (Verknüpfung mit C)
Erstellen Sie einen einfachen WebDAV-Server unter Linux
Ein Memo mit Python2.7 und Python3 in CentOS
[C] [Python] Lesen mit AquesTalk unter Linux
Machen Sie Unity Accelerator zu einem Dienst unter Linux
Werfen Sie eine Anfrage mit einem Zertifikat auf httpie
Linux-Prozess
Erstellen Sie mit Docker eine CentOS Linux 8-Umgebung und starten Sie Apache HTTP Server
Erstellen Sie einen Samba-Server unter Arch Linux
Führen Sie einen Stapel Python 2.7 mit nohup unter Amazon Linux AMI unter EC2 aus
[Linux] Erstellen einer Jenkins-Umgebung mit Docker
Hinweise zum Aktivieren von PostgreSQL mit Django
Erstellen Sie unter Kali Linux einen permanenten Schreibbereich, der vom USB-Speicher gestartet wird
Erstellen Sie eine virtuelle Linux-Maschine unter Windows
Führen Sie Linux mit ARM-Architektur mit QEMU aus
[Linux] Aufbau einer Docker-Umgebung mit Amazon Linux 2
Starten Sie einen temporären http-Server lokal mit Pytest
Erstellen Sie mit pulumi eine WardPress-Umgebung auf AWS
Versuchen Sie Tensorflow mit einer GPU-Instanz unter AWS
Richten Sie golang mit goenv unter GNU / Linux ein
Erstellen Sie eine Python-Umgebung mit ansible auf centos6
Starten Sie Django in einer virtuellen Umgebung mit Pipenv
Starten Sie mit Docker einen einfachen Python-Webserver
Die Jobplanung ist bei AP Schuler etwas fortgeschritten
Versuchen Sie, einen neuen Befehl unter Linux zu erstellen
Hängen Sie das Verzeichnis eines anderen Servers mit sshfs ein
Entschlüsseln Sie eine unter iOS mit Python verschlüsselte Zeichenfolge
Installieren Sie PHP der 7er-Serie unter Amazon Linux 2 mit Amazon Linux Extras
Fügen Sie nach SELECT mit SQL Alchemy einen festen Prozess ein
Visualisiere grib2 auf einer Karte mit Python (matplotlib)
Erstellen Sie Server in Linux und lokalen Netzwerken mit Raspberry Pi NextCloud und Desktop-Sharing
Geben Sie die Lautstärke unter Linux an und spielen Sie den Sound ab
Erstellen Sie unter Linux einen QR-Code für die URL
Yum-Befehl zum Zugriff auf MySQL mit Python 3 unter Linux
So installieren Sie Linux auf einem 32-Bit-UEFI-PC
Machen Sie mit Python einen Haltepunkt auf der c-Ebene
[Teil 2] Erstellen wir einen Webserver mit EC2 Linux
Ich habe eine Python3-Umgebung unter Ubuntu mit direnv erstellt.
Richten Sie Docker unter Oracle Linux (7.x) mit Vagrant ein
Rückblick auf die Erstellung eines Webdienstes mit Django 2
[Teil 1] Lassen Sie uns einen Micra-Server unter Linux einrichten
Hinweise zur Beschleunigung des Python-Codes mit Numba
Stellen Sie die mit PTVS erstellte Django-App in Azure bereit
Starten Sie Django auf einem Docker-Container mit Docker-Compose Up
Entpacken Sie eine ZIP-Datei mit mehr als 4 GB unter Linux.
Hinweise zum Erstellen einer virtuellen Umgebung mit Anaconda Navigator
Eine Geschichte über einen Linux-Anfänger, der Linux auf ein Windows-Tablet bringt