SystemdDoctor
RuntimeMaxSec= [Service]

RuntimeMaxSec=: ограничение времени работы службы

Ограничивает время работы службы: по его истечении systemd останавливает её, как при таймауте. Полезно для задач, которые не должны идти бесконечно.

Что делает

Два основных применения. Первое — задачи с ограниченным смыслом: выгрузка, обход, проверка. Если задача идёт дольше разумного, лучше прервать её и разобраться. Второе — управляемый перезапуск служб с утечкой памяти: честнее перезапускать по расписанию, чем ждать смерти от нехватки памяти.

Где ставится. В секции [Service]. Есть родственный параметр случайного разброса.

Значения

ЗначениеЧто происходит
1hслужба будет остановлена через час работы.
infinityбез ограничения (по умолчанию).
RuntimeRandomizedExtraSec=10minслучайная добавка, чтобы службы не перезапускались одновременно.

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

Пример

Задача обхода с ограничением времени.

[Service]
Type=oneshot
RuntimeMaxSec=30min
ExecStart=/usr/local/bin/crawl --all

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

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

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

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

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

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

Источники

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