Выбор ответа Middle systemd и журналы обновлено

Сервис перестал перезапускаться

Вопрос

У сервиса Restart=always, но после серии падений systemctl status показывает start-limit-hit, и рестартов больше нет. Почему?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Сработал лимит частоты запусков StartLimitBurst. Чтобы падающий сервис не крутился бесконечно, systemd ограничивает число запусков за интервал (по умолчанию 5 за 10 секунд).

Варианты ответа

  1. Restart=always срабатывает только при загрузке системы
  2. Сработал лимит частоты запусков StartLimitBurstправильный ответ
  3. Кончилось место в журнале, и systemd остановил рестарты
  4. OOM killer запретил повторный запуск этого юнита

Разбор

Чтобы падающий сервис не крутился бесконечно, systemd ограничивает число запусков за интервал (по умолчанию 5 за 10 секунд). После превышения юнит в состоянии failed. Нужно починить причину, при необходимости увеличить RestartSec, затем systemctl reset-failed api и start. OOM killer запуск не запрещает, переполнение журнала не мешает рестартам.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.