SystemdDoctor
служба не работает ввод-вывод приоритет права

status=211/IOPRIO в systemd

Код 211/IOPRIO появляется, когда systemd не сумел применить приоритет дискового ввода-вывода. Причины те же, что и у приоритета процессора: недостаточно прав для класса реального времени либо значение вне допустимого диапазона.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Класс realtime без нужных прав

    Класс ввода-вывода realtime требует CAP_SYS_ADMIN. Служба без этой возможности получает отказ.

  2. Приоритет вне диапазона

    IOSchedulingPriority= принимает значения от 0 до 7. Другие числа отвергаются.

  3. Планировщик ввода-вывода не поддерживает приоритеты

    Приоритеты учитывает не каждый планировщик: на устройстве с none или mq-deadline они могут не применяться, а в некоторых окружениях вызов и вовсе отказывает.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Показывает шаг IOPRIO и причину отказа.

journalctl -xeu myapp.service --no-pager -n 20

Действующие значения обоих параметров.

systemctl show myapp.service -p IOSchedulingClass -p IOSchedulingPriority

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Класс realtime без нужных прав
Почему происходит
Класс ввода-вывода realtime требует CAP_SYS_ADMIN. Служба без этой возможности получает отказ.
Как проверить
Посмотрите класс и возможности.
systemctl show myapp.service -p IOSchedulingClass -p CapabilityBoundingSet
Как исправить
Смените класс на best-effort — для служб это почти всегда достаточно, — либо оставьте CAP_SYS_ADMIN.
2. Приоритет вне диапазона
Почему происходит
IOSchedulingPriority= принимает значения от 0 до 7. Другие числа отвергаются.
Как проверить
Проверьте значение.
systemctl show myapp.service -p IOSchedulingPriority
Как исправить
Поставьте число от 0 до 7: 0 — самый высокий приоритет внутри класса, 7 — самый низкий.
3. Планировщик ввода-вывода не поддерживает приоритеты
Почему происходит
Приоритеты учитывает не каждый планировщик: на устройстве с none или mq-deadline они могут не применяться, а в некоторых окружениях вызов и вовсе отказывает.
Как проверить
Посмотрите планировщик для нужного устройства.
cat /sys/block/sda/queue/scheduler
Как исправить
Либо смените планировщик на bfq, где приоритеты работают, либо уберите параметры приоритета ввода-вывода из unit-файла.

Пример вывода

Запрошен класс realtime без CAP_SYS_ADMIN. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

× backup.service - Nightly backup
     Active: failed (Result: exit-code) since Mon 2026-09-14 02:10:05 MSK; 1s ago
    Process: 16220 ExecStart=/usr/local/bin/backup (code=exited, status=211/IOPRIO)

systemd[16220]: backup.service: Failed at step IOPRIO spawning /usr/local/bin/backup: Permission denied

Связанные ошибки

Источники

  • systemd.exec(5)
    211 EXIT_IOPRIO: не удалось настроить приоритет ввода-вывода.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено с IOSchedulingClass=realtime при пустом CapabilityBoundingSet.
    собственная проверка, systemd 255
    сверено 15 сентября 2026