status=201/NICE в systemd
Код 201/NICE значит, что не удалось применить Nice= — приоритет процессорного времени. Понижать приоритет (положительные числа) можно всегда, а повышать (отрицательные) — только при достаточных правах, и именно на этом шаг падает.
Вероятные причины
По порядку: сверху то, что встречается чаще.
-
Отрицательное значение
Nice=без нужных правПовышение приоритета требует CAP_SYS_NICE. Служба, отказавшаяся от возможностей через
CapabilityBoundingSet=, или служба пользователя такого сделать не может. -
Значение вне диапазона
Допустимы числа от −20 до 19. Остальное отвергается при разборе unit-файла.
-
LimitNICE=не позволяет запрошенный приоритетПредел NICE задаёт границу, ниже которой приоритет повысить нельзя даже с правами. Значения предела и приоритета считаются по разным шкалам, и их легко перепутать.
Диагностика
Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.
Показывает отказ на шаге NICE и его причину.
journalctl -xeu myapp.service --no-pager -n 20Три параметра, которые вместе определяют исход этого шага.
systemctl show myapp.service -p Nice -p LimitNICE -p CapabilityBoundingSetРешение
Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.
Nice= без нужных прав- Почему происходит
- Повышение приоритета требует CAP_SYS_NICE. Служба, отказавшаяся от возможностей через
CapabilityBoundingSet=, или служба пользователя такого сделать не может.
- Как проверить
-
Посмотрите значение и набор возможностей.
systemctl show myapp.service -p Nice -p CapabilityBoundingSet -p User
- Как исправить
- Либо уберите отрицательный приоритет, либо оставьте службе CAP_SYS_NICE в наборе возможностей.
- Почему происходит
- Допустимы числа от −20 до 19. Остальное отвергается при разборе unit-файла.
- Как проверить
-
Проверьте действующее значение.
systemctl show myapp.service -p Nice
- Как исправить
- Поставьте значение в диапазоне. Для фоновых задач осмысленно 5…10, для чувствительных к задержкам — небольшое отрицательное.
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 (Ubuntu 24.04)
Воспроизведено на unit с Nice=-10 и пустым CapabilityBoundingSet.