CHRT(1)

BEZEICHNUNG
chrt - die Echtzeitattribute eines Prozesses manipulieren

ÜBERSICHT

chrt [options] priority command argument ...

chrt [options] -p [priority] PID

BESCHREIBUNG

chrt sets or retrieves the real-time scheduling attributes of an existing PID, or runs command with the given attributes.

SCHEDULING-REGELN

-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) für weitere Details.

SCHEDULING-OPTIONEN

-T, --sched-runtime Nanosekunden
    gibt die Laufzeitparameter für die SCHED_DEADLINE-Regel an (Linux-spezifisch).

-P, --sched-period Nanosekunden
    gibt den Periodenparameter für die SCHED_DEADLINE-Regel an (Linux-spezifisch). Beachten Sie, dass die untere Grenze des Kernels bei 100 Millisekunden liegt.

-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.

OPTIONEN

-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.

BEISPIELE

Das Standardverhalten ist die Ausführung eines neuen Befehls:

    chrt priority command [arguments]

Sie können auch die Echtzeitattribute eines existierenden Prozesses ermitteln:

    chrt -p PID

Oder sie festlegen:

    chrt -r -p priority PID

Folgendes setzt das Echtzeit-Scheduling auf die Priorität 30 für den Prozessmit der angegebenen PID mit der (Round-Robin-)Klasse SCHED_RR:

    chrt -r -p 30 PID

Prioritäten für einen Prozess auf die Vorgabe setzen:

    chrt -o -p 0 PID

In sched(7) finden Sie eine detaillierte Beschreibung der verschiedenen Scheduling-Klassen und Informationen darüber, wie diese miteinander interagieren.

ZUGRIFFSRECHTE

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.

ANMERKUNGEN

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.

AUTOREN

SIEHE AUCH

nice(1), renice(1), taskset(1), sched(7)

In sched_setscheduler(2) finden Sie eine Beschreibung des Scheduling-Schemas in Linux.

FEHLER MELDEN

Nutzen Sie zum Melden von Fehlern das Fehlererfassungssystem auf

VERFÜGBARKEIT

Der Befehl chrt ist Teil des Pakets util-linux, welches aus dem heruntergeladen werden kann.