SystemdDoctor
служба не работает состояния ресурсы задачи

Failed with result 'resources'

Состояние resources значит, что запуск не состоялся из-за нехватки чего-то системного: памяти, процессов, дескрипторов, места в контрольной группе. Отличие от кодов 200-й группы в том, что там шаг подготовки назван прямо, а здесь systemd сообщает лишь об общей нехватке.

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

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

  1. Упор в предел числа задач

    Если у среза или службы исчерпан TasksMax=, новый процесс создать нельзя. Часто это следствие расплодившихся дочерних процессов.

  2. Нехватка памяти на машине

    При исчерпанной памяти не проходит даже подготовка процесса. Попытки запуска будут падать до освобождения памяти.

  3. Исчерпаны файловые дескрипторы в системе

    Общесистемный предел дескрипторов исчерпывается редко, но при этом перестают запускаться любые службы.

Диагностика

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

Показывает, чего именно не хватило при запуске.

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

Потребление по срезам: видно, кто съел память или расплодил задачи.

systemd-cgtop -1 --depth=2 | head -15

Действующие пределы службы.

systemctl show myapp.service -p TasksMax -p TasksCurrent -p MemoryMax

Решение

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

1. Упор в предел числа задач
Почему происходит
Если у среза или службы исчерпан TasksMax=, новый процесс создать нельзя. Часто это следствие расплодившихся дочерних процессов.
Как проверить
Посмотрите пределы и текущее число задач.
systemctl show myapp.service -p TasksMax -p TasksCurrent
systemctl show system.slice -p TasksMax -p TasksCurrent
Как исправить
Поднимите TasksMax= или разберитесь, почему процессов так много: обычно виноват не предел, а утечка процессов.
2. Нехватка памяти на машине
Почему происходит
При исчерпанной памяти не проходит даже подготовка процесса. Попытки запуска будут падать до освобождения памяти.
Как проверить
Посмотрите память и записи ядра.
free -h
journalctl -k -b --no-pager | grep -i "out of memory" | tail -5
Как исправить
Освободите память и повторите запуск. Разовое повышение пределов тут не поможет.
3. Исчерпаны файловые дескрипторы в системе
Почему происходит
Общесистемный предел дескрипторов исчерпывается редко, но при этом перестают запускаться любые службы.
Как проверить
Сравните использованные и допустимые дескрипторы.
cat /proc/sys/fs/file-nr
cat /proc/sys/fs/nr_open
Как исправить
Поднимите fs.file-max через sysctl и найдите программу, которая держит дескрипторы: обычно это одна служба с утечкой.

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

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

× myapp.service - My application
     Active: failed (Result: resources) since Mon 2026-09-15 21:55:41 MSK; 2s ago

systemd[1]: myapp.service: Failed to fork: Resource temporarily unavailable
systemd[1]: myapp.service: Failed with result 'resources'.

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

  • Too many tasks: упор в предел TasksMax Служба не может создать новый процесс: достигнут предел TasksMax. Где он задан и как поднять правильно.
  • status=204/MEMORY в systemd Код 204/MEMORY: systemd не смог выделить память при подготовке запуска службы. Что проверять на машине и в unit-файле.
  • Too many open files в журнале службы Служба исчерпала лимит файловых дескрипторов. Как правильно поднять LimitNOFILE и когда дело в утечке.
  • status=219/CGROUP в systemd Код 219/CGROUP: не удалось создать или настроить контрольную группу службы. Причины на уровне системы и контейнеров.
  • Cannot allocate memory в журнале службы Не удалось выделить память: предел службы, память машины, настройка overcommit, исчерпанные области отображения.
  • Disk quota exceeded для службы Место на разделе есть, а запись отклоняется: исчерпана дисковая квота пользователя или группы.
  • Elasticsearch: max virtual memory areas vm.max_map_count is too low Elasticsearch отказывается стартовать из-за заниженного vm.max_map_count. Как поднять значение и закрепить его.
  • Failed with result 'core-dump' Состояние core-dump: процесс службы аварийно завершился и сохранил дамп памяти. Как открыть дамп и прочитать трассировку.

Источники

  • systemd.service(5)
    Значение resources в таблице Result.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • systemd.resource-control(5)
    TasksMax= и пределы контрольных групп.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено на unit с TasksMax=1 и программой, создающей дочерний процесс.
    собственная проверка, systemd 255
    сверено 15 сентября 2026