chrt - die Echtzeitattribute eines Prozesses manipulieren
chrt [Optionen] Priorität Befehl Argument ...
chrt [Optionen] -p [Priorität] PID
chrt setzt oder ermittelt die Echtzeit-Scheduling-Attribute eines existierenden Prozesses mit der Kennung PID oder führt einen Befehl mit den angegebenen Attributen aus.
-o, --other
setzt die Scheduling-Regel auf SCHED_OTHER (zeitbasiertes Scheduling). Dies ist die Vorgabe unter Linux.
-f, --fifo
setzt die Scheduling-Regel auf SCHED_FIFO (zuerst hinein - zuerst hinaus).
-r, --rr
setzt die Scheduling-Regel auf SCHED_RR (Rundlauf-Scheduling, »round-robin«). Wenn keine Regel definiert ist, wird SCHED_RR als Vorgabe verwendet.
-b, --batch
setzt die Scheduling-Regel auf SCHED_BATCH (Stapelverarbeitungsprozess-Scheduling). Linux-spezifisch, unterstützt seit 2.6.16. Das Prioritäts-Argument muss auf Null gesetzt werden.
-i, --idle
setzt die Scheduling-Regel auf SCHED_IDLE (Scheduling von Prozessen niedriger Priorität). Linux-spezifisch, unterstützt seit 2.6.23. Das Prioritäts-Argument muss auf Null gesetzt werden.
-d, --deadline
legt die Scheduling-Regel auf
SCHED_DEADLINE fest (»sporadic task model deadline scheduling«, Linux-spezifisch, seit 3.14 unterstützt). Das Prioritäts-Argument muss auf Null gesetzt werden. Siehe auch
--sched-runtime,
--sched-deadline und
--sched-period. Der Zusammenhang zwischen den vom Kernel verlangten Optionen ist Laufzeit ⇐ deadline ⇐ Periode.
chrt kopiert
period nach
deadline, falls
--sched-deadline nicht angegeben ist und
deadline nach
runtime, falls
--sched-runtime nicht angegeben ist. Das bedeutet, dass mindestens
--sched-period angegeben sein muss. Siehe
sched(7)EN für weitere Details.
-T, --sched-runtime Nanosekunden
gibt die Laufzeitparameter für die SCHED_DEADLINE-Regel an (Linux-spezifisch).
-P, --sched-period Nanosekunden
Specifies period parameter for SCHED_DEADLINE policy (Linux-specific). Note that the kernel’s lower limit is 100 milliseconds.
-D, --sched-deadline Nanosekunden
gibt den Deadline-Parameter für die SCHED_DEADLINE-Regel an (Linux-spezifisch).
-R, --reset-on-fork
fügt
SCHED_RESET_ON_FORK oder
SCHED_FLAG_RESET_ON_FORK hinzu (Linux-spezifisch, unterstützt seit 2.6.31).
Jeder Thread hat einen Scheduling-Schalter reset-on-fork. Wenn dieser Schalter gesetzt ist, erben von fork(2) erzeugte Kindprozesse nicht die privilegierten Scheduling-Regeln. Nachdem der Schalter reset-on-fork aktivert wurde, kann er nur zurückgesetzt werden, wenn der der Thread über die Capability CAP_SYS_NICE verfügt. Dieser Schalter ist in von fork(2) erzeugten Kindprozessen deaktiviert.
Genauer gesagt, falls der Schalter reset-on-fork gesetzt ist, werden die folgenden Regeln für nachfolgend erzeugte Kinder angewendet:
•Falls die Scheduling-Regel des aufrufenden Threads auf SCHED_FIFO oder SCHED_RR gesetzt ist, wird die Regel in Kindprozessen auf SCHED_OTHER zurückgesetzt.
•Falls der aufrufende Prozess einen negativen Nice-Wert hat, wird der Nice-Wert in Kindprozessen auf 0 zurückgesetzt.
-a, --all-tasks
setzt oder ermittelt die Scheduling-Attribute aller Prozesse (Threads) für eine gegebene Kennung (PID).
-m, --max
zeigt die minimal und maximal möglichen Prioritäten und beendet dann das Programm.
-p, --pid
verwendet eine vorhandene Prozesskennung (PID), anstatt einen neuen Prozess zu starten.
-v, --verbose
zeigt Statusinformationen an.
-h, --help
zeigt einen Hilfetext an und beendet das Programm.
-V, --version
zeigt Versionsinformationen an und beendet das Programm.
Das Standardverhalten ist die Ausführung eines neuen Befehls:
chrt Priorität Befehl [Argumente]
Sie können auch die Echtzeitattribute eines existierenden Prozesses ermitteln:
Oder sie festlegen:
Folgendes setzt das Echtzeit-Scheduling auf die Priorität 30 für den Prozessmit der angegebenen PID mit der (Round-Robin-)Klasse SCHED_RR:
Prioritäten für einen Prozess auf die Vorgabe setzen:
In sched(7)EN finden Sie eine detaillierte Beschreibung der verschiedenen Scheduling-Klassen und Informationen darüber, wie diese miteinander interagieren.
Ein Benutzer muss über CAP_SYS_NICE verfügen, um die Scheduling-Attribute eines Prozesses zu ändern. Die Ermittlung der Scheduling-Attribute ist allen Benutzern erlaubt.
Nur SCHED_FIFO, SCHED_OTHER und SCHED_RR sind Teil des Prozess-Schedulings nach POSIX 1003.1b. Die anderen Scheduling-Attribute können auf einigen Systemen ignoriert werden.
Die unter Linux vorgegebene Scheduling-Regel ist SCHED_OTHER.
Robert Love <rml@tech9.net>, Karel Zak <kzak@redhat.com>
Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf <https://github.com/util-linux/util-linux/issues>.
Der Befehl chrt ist Teil des Pakets util-linux, welches aus dem Linux-Kernel-Archiv <https://www.kernel.org/pub/linux/utils/util-linux/> heruntergeladen werden kann.