SystemdDoctor
CollectMode= [Unit]

CollectMode=inactive-or-failed: уборка временных unit

Разрешает systemd выгружать сведения о unit после его завершения. По умолчанию упавшие unit остаются в памяти до сброса состояния.

Что делает

Это важно там, где unit создаются массово: экземпляры шаблонов при сокет-активации «по соединению», временные unit из systemd-run. Без уборки сведения о каждом завершённом экземпляре накапливаются и расходуют память менеджера.

Где ставится. В секции [Unit].

Значения

ЗначениеЧто происходит
inactiveпо умолчанию: выгружать только успешно завершённые.
inactive-or-failedвыгружать и упавшие тоже.

По умолчанию: inactive

Пример

Шаблон обработчика соединений с уборкой.

[Unit]
Description=Обработчик соединения %i
CollectMode=inactive-or-failed

[Service]
ExecStart=/usr/local/bin/handler
StandardInput=socket

Без уборки после тысяч соединений список unit разрастается, и вывод systemctl становится нечитаемым.

Типичные ошибки

С уборкой упавших unit их состояние исчезает: сбой не попадёт в systemctl --failed.

Для обычных служб параметр не нужен: их немного, и состояние полезно хранить.

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

Рядом стоящие параметры

Источники

  • systemd.unit(5) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026