chrt - керування атрибутами роботи у режимі реального часу процесу
chrt [параметри] пріоритетність команда аргумент ...
chrt [параметри] -p [пріоритетність] PID
chrt встановлює або отримує атрибути планування у режимі реального часу для процесу PID або віддає команду із вказаними атрибутами.
-o, --other
Встановити правила планування SCHED_OTHER (планування із поділом часу). Це типові правила планування у Linux.
-f, --fifo
Встановити правила планування SCHED_FIFO (першим прийшов - першим пішов).
-r, --rr
Встановити правила планування SCHED_RR (карусельне планування). Якщо не визначено правил, буде використано типові правила SCHED_RR.
-b, --batch
Встановити правила планування SCHED_BATCH (планування пакетних процесів). Специфічні для Linux, підтримку передбачено з версії 2.6.16. Аргумент пріоритетності має бути встановлено у нульове значення.
-i, --idle
Встановити правила планування SCHED_IDLE (планування завдань дуже низької пріоритетності). Специфічні для Linux, підтримку передбачено з версії 2.6.23. Аргумент пріоритетності має бути встановлено у нульове значення.
-d, --deadline
Встановити правила планування
SCHED_DEADLINE (планування із часом завершення для моделі спорадичних завдань). Специфічні для Linux, підтримку передбачено з версії 3.14. Аргумент пріоритетності слід встановити у нульове значення. Див. також
--sched-runtime,
--sched-deadline і
--sched-period. Відношення між параметрами, які потрібні ядру є такими: робочий цикл (runtime) ⇐ час завершення (deadline) ⇐ період (period).
chrt копіює
period до
deadline, якщо не вказано
--sched-deadline, і
deadline до
runtime, якщо не вказано
--sched-runtime. Це означає що, має бути вказано принаймні
--sched-period. Див.
sched(7)EN, щоб дізнатися більше.
-T, --sched-runtime наносекунди
Вказує параметри робочого циклу для правил планування SCHED_DEADLINE (специфічні Linux).
-P, --sched-period наносекунди
Specifies period parameter for SCHED_DEADLINE policy (Linux-specific). Note that the kernel’s lower limit is 100 milliseconds.
-D, --sched-deadline наносекунди
Вказує параметри завершення роботи для правил планування SCHED_DEADLINE (специфічні Linux).
-R, --reset-on-fork
Скористатися прапорцем
SCHED_RESET_ON_FORK або
SCHED_FLAG_RESET_ON_FORK. Специфічне для Linux, підтримку передбачено з версії 2.6.31.
У кожного потоку обробки є прапорець планування reset-on-fork. Якщо встановлено цей прапорець, дочірні процеси, які створено за допомогою fork(2)EN, не успадковують привілейованих правил планування. Після того, як було увімкнено прапорець reset-on-fork, його може бути скинуто, лише якщо у потоку обробки є можливість CAP_SYS_NICE. Цей прапорець буде вимкнено у дочірніх процесах, які створено за допомогою fork(2)EN.
Якщо точніше, при встановленні прапорця reset-on-fork до наступних правил буде застосовано до наступних створених дочірніх процесів:
•Якщо потік обробки, звідки надійшов виклик, підлягає правилам планування SCHED_FIFO або SCHED_RR, правила буде скинуто до SCHED_OTHER у дочірніх процесах.
•Якщо процес, звідки надійшов виклик, має від’ємне значення пріоритетності (nice), значення пріоритетності буде скинуто до нульового у дочірніх процесах.
-a, --all-tasks
Встановити або отримати атрибути планування для усіх завдань (потоків обробки) для вказаного PID.
-m, --max
Вивести мінімальне і максимальне коректне значення пріоритетності, потім завершити роботу.
-p, --pid
Працювати із наявним PID і не запускати нового завдання.
-v, --verbose
Вивести дані щодо стану.
-h, --help
Вивести текст довідки і завершити роботу.
-V, --version
Вивести дані щодо версії і завершити роботу.
Типовою поведінкою є запуск нової команди:
chrt пріоритетність команда [аргументи]
Ви можете отримати атрибути реального часу наявного завдання:
Або встановити їх:
chrt -r -p пріоритетність PID
This, for example, sets real-time scheduling to priority 30 for the process PID with the SCHED_RR (round-robin) class:
Reset priorities to default for a process:
See sched(7)EN for a detailed discussion of the different scheduler classes and how they interact.
Користувач має володіти CAP_SYS_NICE для зміни атрибутів планування процесу. Отримати дані щодо планування може бути будь-який користувач.
Частиною стандартів планування процесів у POSIX 1003.1b є лише SCHED_FIFO, SCHED_OTHER і SCHED_RR. Інші атрибути планування може бути проігноровано у деяких системах.
Типовими правилами планування у Linux є SCHED_OTHER.
Robert Love <rml@tech9.net>, Karel Zak <kzak@redhat.com>
Для звітування щодо вад скористайтеся системою стеження за вадами - <https://github.com/util-linux/util-linux/issues>.
Програма chrt є частиною пакунка util-linux, який можна отримати з архіву ядра Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.