SystemdDoctor
служба не работает приоритет права ограничения

status=201/NICE в systemd

Код 201/NICE значит, что не удалось применить Nice= — приоритет процессорного времени. Понижать приоритет (положительные числа) можно всегда, а повышать (отрицательные) — только при достаточных правах, и именно на этом шаг падает.

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

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

  1. Отрицательное значение Nice= без нужных прав

    Повышение приоритета требует CAP_SYS_NICE. Служба, отказавшаяся от возможностей через CapabilityBoundingSet=, или служба пользователя такого сделать не может.

  2. Значение вне диапазона

    Допустимы числа от −20 до 19. Остальное отвергается при разборе unit-файла.

  3. LimitNICE= не позволяет запрошенный приоритет

    Предел NICE задаёт границу, ниже которой приоритет повысить нельзя даже с правами. Значения предела и приоритета считаются по разным шкалам, и их легко перепутать.

Диагностика

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

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

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

Три параметра, которые вместе определяют исход этого шага.

systemctl show myapp.service -p Nice -p LimitNICE -p CapabilityBoundingSet

Решение

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

1. Отрицательное значение Nice= без нужных прав
Почему происходит
Повышение приоритета требует CAP_SYS_NICE. Служба, отказавшаяся от возможностей через CapabilityBoundingSet=, или служба пользователя такого сделать не может.
Как проверить
Посмотрите значение и набор возможностей.
systemctl show myapp.service -p Nice -p CapabilityBoundingSet -p User
Как исправить
Либо уберите отрицательный приоритет, либо оставьте службе CAP_SYS_NICE в наборе возможностей.
2. Значение вне диапазона
Почему происходит
Допустимы числа от −20 до 19. Остальное отвергается при разборе unit-файла.
Как проверить
Проверьте действующее значение.
systemctl show myapp.service -p Nice
Как исправить
Поставьте значение в диапазоне. Для фоновых задач осмысленно 5…10, для чувствительных к задержкам — небольшое отрицательное.
3. LimitNICE= не позволяет запрошенный приоритет
Почему происходит
Предел NICE задаёт границу, ниже которой приоритет повысить нельзя даже с правами. Значения предела и приоритета считаются по разным шкалам, и их легко перепутать.
Как проверить
Сверьте оба параметра.
systemctl show myapp.service -p Nice -p LimitNICE
Как исправить
Согласуйте предел с приоритетом или уберите LimitNICE=, если он задавался без необходимости.

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

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

× myapp.service - My application
     Active: failed (Result: exit-code) since Mon 2026-09-14 19:01:12 MSK; 1s ago
    Process: 15010 ExecStart=/usr/local/bin/myapp (code=exited, status=201/NICE)

systemd[15010]: myapp.service: Failed at step NICE spawning /usr/local/bin/myapp: Permission denied

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

  • status=214/SETSCHEDULER в systemd Код 214/SETSCHEDULER: не удалось применить политику планирования процессора из CPUSchedulingPolicy=. Обычно из-за прав или диапазона приоритета.
  • status=205/LIMITS в systemd Код 205/LIMITS: systemd не смог применить ограничения ресурсов из Limit*=. Обычно значение недопустимо или превышает жёсткий предел.
  • status=218/CAPABILITIES в systemd Код 218/CAPABILITIES: не удалось применить набор возможностей процесса из CapabilityBoundingSet= или AmbientCapabilities=.
  • status=211/IOPRIO в systemd Код 211/IOPRIO: не удалось задать приоритет ввода-вывода из IOSchedulingClass= или IOSchedulingPriority=.
  • AppArmor: apparmor="DENIED" в журнале ядра Профиль AppArmor запретил операцию: как прочитать запись, найти профиль и поправить его правильно.
  • Caddy не занимает порты 80 и 443 без прав Служба падает при открытии слушателя: нет возможности занимать привилегированные порты.
  • Configuration file is marked world-inaccessible Предупреждение о правах на unit-файл: служба работает, но файл недоступен для чтения другим.
  • Interactive authentication required при управлении службой systemctl требует аутентификации: обращение от непривилегированного пользователя через polkit. Как разрешить точечно.

Источники

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