CHRT(1) Polecenia użytkownika CHRT(1)

chrt - zmienia atrybuty czasu rzeczywistego procesu

chrt [opcje] [priorytet] polecenie [argument...]

chrt --pid [opcje] [priorytet] PID

chrt ustawia lub pobiera atrybuty szeregowania czasu rzeczywistego istniejącego identyfikatora procesu (PID), albo uruchamia polecenie z podanymi atrybutami.

-o, --other

Ustawia algorytm szeregowania SCHED_OTHER (szeregowanie z dzieleniem czasu). Jest to domyślny algorytm szeregowania zadań w Linuksie. Od util-linux v2.42, argument priorytetu jest opcjonalny; jeśli się go poda, musi być ustawiony na zero.

-f, --fifo

Ustawia algorytm szeregowania na SCHED_FIFO (pierwszy na wejściu, pierwszy na wyjściu).

-r, --rr

Ustawia algorytm szeregowania na SCHED_RR (szeregowanie rotacyjne). Jeśli nie zdefiniuje się algorytmu, domyślnie stosowany jest właśnie SCHED_RR.

-b, --batch

Ustawia algorytm szeregowania na SCHED_BATCH (szeregowanie procesów wsadowych). Typowo linuksowy, obsługiwany od Linuksa 2.6.16. Od util-linux v2.42, argument priorytetu jest opcjonalny; jeśli się go poda, musi być ustawiony na zero.

-i, --idle

Ustawia algorytm szeregowania na SCHED_IDLE (szeregowanie zadań o bardzo niskim priorytecie). Typowo linuksowy, obsługiwany od Linuksa 2.6.23. Od util-linux v2.42, argument priorytetu jest opcjonalny; jeśli się go poda, musi być ustawiony na zero.

-d, --deadline

Ustawia algorytm szeregowania na SCHED_DEADLINE (szeregowanie sporadyczne z budżetem czasu). Typowo linuksowy, obsługiwany od Linuksa 3.14. Od util-linux v2.42, argument priorytetu jest opcjonalny; jeśli się go poda, musi być ustawiony na zero. Zob. też --sched-runtime, --sched-deadline i --sched-period. Relacja pomiędzy opcjami, wymagana przez jądro, jest taka, że czas działania (runtime) ⇐ limit (deadline) ⇐ okres (period). chrt kopiuje okres do limitu jeśli nie poda się --sched-deadline, a także limit do czasu działania jeśli nie poda się --sched-runtime. Oznacza to, że konieczne jest podanie przynajmniej --sched-period. Więcej szczegółów w podręczniku sched(7).

-e, --ext

Set scheduling policy to SCHED_EXT (BPF program-defined scheduling). Linux-specific, supported since 6.12. Since util-linux v2.42, the priority argument is optional; if specified, it must be set to zero. Note that for the policy to be recognized, the following kernel configuration options need to be enabled: CONFIG_BPF, CONFIG_SCHED_CLASS_EXT, CONFIG_BPF_SYSCALL, CONFIG_BPF_JIT, CONFIG_DEBUG_INFO_BTF, CONFIG_BPF_JIT_ALWAYS_ON and CONFIG_BPF_JIT_DEFAULT_ON.

-T, --sched-runtime nanosekundy

Określa parametr czasu działania algorytmu SCHED_DEADLINE oraz niestandardową długość kwantu czasu w algorytmach SCHED_OTHER i SCHED_BATCH (typowo linuksowe). Proszę zauważyć, że określanie niestandardowej długości kwantu czasu poprzez parametr czasu działania jest obsługiwane od Linuksa 6.12.

-P, --sched-period nanosekundy

Określa parametr okresu algorytmu SCHED_DEADLINE (typowo linuksowy). Proszę zauważyć, że dolnym limitem jądra jest 100 mikrosekund.

-D, --sched-deadline nanosekundy

Określa parametr limitu algorytmu SCHED_DEADLINE (typowo linuksowy).

-R, --reset-on-fork

Używa znacznika SCHED_FLAG_RESET_ON_FORK lub SCHED_RESET_ON_FORK. Typowo linuksowe, obsługiwane od 2.6.31.

Każdy wątek ma znacznik szeregowania reset-on-fork (zresetuj przy rozwidleniu). Gdy jest ustawiony, potomkowie utworzeniu przy fork(2) nie dziedziczą uprzywilejowanych algorytmów szeregowania. Po włączeniu znacznika reset-on-fork można go zresetować tylko, jeśli wątek ma przywilej CAP_SYS_NICE. Znacznik jest wyłączony w procesach potomnych tworzonych przez fork(2).

Precyzyjniej: jeśli ustawiono znacznik reset-on-fork, do nowo tworzonych potomków stosują się następujące zasady:

•Jeśli wątek wywołujący ma ustawiony algorytm szeregowania SCHED_FIFO lub SCHED_RR, algorytm jest resetowany na SCHED_OTHER w procesach potomnych.
•Jeśli proces wywołujący ma ujemną wartość nice, wartość nice jest resetowana na zero w procesach potomnych.

-a, --all-tasks

Ustawia lub pobiera atrybuty szeregowania wszystkich zadań (wątków) podanego PID.

-m, --max

Pokazuje minimalne i maksymalne prawidłowe priorytety, a następnie wychodzi.

-p, --pid

Działa na istniejącym PID i nie uruchamia nowego zadania.

-v, --verbose

Pokazuje informacje o stanie.

-h, --help

Wyświetla ten tekst i wychodzi.

-V, --version

Wyświetla wersję i wychodzi.

Domyślnym zachowaniem jest uruchomienie nowego polecenia:

chrt priorytet polecenie [argumenty]

Można też pobrać atrybuty czasu rzeczywistego istniejącego zadania:

chrt --pid PID

Albo je ustawić:

chrt --pid opcja-szeregowania priorytet PID

Na przykład, aby ustawić algorytm szeregowania procesu 1234 na SCHED_RR (rotacyjne) a priorytet na 30:

chrt --pid -r 30 1234

Resetowanie priorytetu procesu na domyślny:

chrt --pid -o 0 PID

Ustawia niestandardową długość kwantu czasu zadania szeregowanego algorytmem SCHED_OTHER na 1 ms (priorytet jest opcjonalny w algorytmach innych niż SCHED_FIFO i SCHED_RR):

chrt --pid -o -T 1000000 PID

Szczegółowy opis różnych typów algorytmów szeregowania oraz interakcji między nimi znajduje się w podręczniku systemowym sched(7).

Użytkownik musi posiadać przywilej CAP_SYS_NICE aby zmieniać atrybuty szeregowania procesu. Każdy użytkownik może pobrać informacje dotyczące szeregowania.

Jedynie SCHED_FIFO, SCHED_OTHER i SCHED_RR są częścią standardu POSIX 1003.1b Process Scheduling. Pozostałe atrybuty szeregowania mogą być ignorowane na niektórych systemach.

Domyślnym algorytmem szeregowania w Linuksie jest SCHED_OTHER.

Robert Love <rml@tech9.net>, Karel Zak <kzak@redhat.com>

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

Schemat linuksowego szeregowania zadań opisano w podręczniku sched_setscheduler(2).

Problemy należy zgłaszać w systemie śledzenia błędów https://github.com/util-linux/util-linux/issues.

Polecenie chrt jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux https://www.kernel.org/pub/linux/utils/util-linux/.

2026-09-02 util-linux 2.42.3