#Что означает сообщение
Start request repeated too quickly
Start request repeated too quickly — защита systemd от бесконечных рестартов аварийной службы. Сама эта строка не раскрывает первичную ошибку.
#Как отличить причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Постоянные падения | Сравните момент появления признака «Постоянные падения» с тем, когда ранее работала нужная функция. Важно сопоставить проверку с исходным симптомом, а не с догадкой. | Исправляйте только подтверждённый фактор «Постоянные падения», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие. |
| Малый RestartSec | Сравните момент появления признака «Малый RestartSec» с тем, когда ранее работала нужная функция. Учитывайте версию systemd и условия сбоя. | Исправляйте только подтверждённый фактор «Малый RestartSec», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата. |
| Конфиг | Уточните, какой файл, каталог или запись вызывает отказ, и сравните время её изменения с началом ошибки. Учитывайте версию systemd и условия сбоя. | Для случая «systemd: Start request repeated too quickly» исправляйте целевой файл или запись и оставляйте исходник на случай отката. Для проверки результата повторите только прежнее действие. |
| Зависимость | Сравните момент появления признака «Зависимость» с тем, когда ранее работала нужная функция. Учитывайте версию systemd и условия сбоя. | Исправляйте только подтверждённый фактор «Зависимость», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата. |
#Пошаговое решение
- Зафиксируйте ошибку и проверьте условияВыполните
systemctl status имя.service --no-pagerиsudo journalctl -u имя.service -b -n 100 --no-pager; найдите первую ошибку процесса доStart request repeated too quickly. Само сообщение говорит только о превышении допустимой частоты повторных запусков. - Выполните основную проверку и исправлениеПроверьте реальный
ExecStartвsystemctl cat имя.service, наличие файлов конфигурации и зависимости от сети, базы и каталогов. Исправьте конкретный отказ, а не толькоRestartSec; перед правкой сохраните unit и конфиг программы. - Исключите другие подтверждённые причиныПосле устранения причины выполните
sudo systemctl reset-failed имя.service, затемsudo systemctl start имя.service.reset-failedсбрасывает счётчик systemd, но не устраняет ошибку программы. Через минуту убедитесь, что процесс остаётся активным и журнал не зациклен. - Проверьте, действительно ли проблема решенаЕсли сервис штатно перезапускается часто, оцените настройки
Restart=,RestartSec=,StartLimitIntervalSec=иStartLimitBurstотдельно. Увеличение этих значений не должно скрывать аварийные падения; при повторном сбое соберите новый журнал и выходной код процесса.
#Что важно перед исправлением
Не повышайте StartLimitBurst наугад: неисправный процесс сможет быстро заполнять журналы и расходовать ресурсы.