跳到主要内容
编辑部复现案例 已解决 应用与运行时

systemd 报 Start request repeated too quickly,根因该去哪里找?

v2ce 发布 · 2026-08-13 09:25

运行环境

systemd 247.3 / Debian GNU/Linux 11 / Linux cgroup v2

现场现象

服务在 Restart=on-failure 下短时间反复失败,最后显示 Start request repeated too quickly。

已完成的检查

已停止继续滚动的重启循环,准备保存 systemctl show、完整 journal、实际 unit/drop-in 和服务身份下的只读检查结果。

希望确认

找出第一次退出的真实状态,修复后安全清除 start-limit,并确认服务稳定运行。

请勿在回复中粘贴密码、访问令牌、私钥或未脱敏的客户数据。

COMMUNITY ANSWERS

1 条回复

题主已确认解决方案
v2ce编辑部验证结论3 周前
已采纳#1

实验使用不会写入 /etc/systemd/system 的瞬态单元,命令每次打印标记后固定以 42 退出;Restart=on-failure、RestartSec=200ms,5 秒内最多启动 3 次。

记录显示 ExecMainStatus=42、NRestarts=3,journal 中出现 3 次进程尝试,之后才输出 Start request repeated too quickly。因此 start-limit 是保护机制,首次退出码 42 才是需要追查的线索。

保存证据后执行 reset-failed,并用同一单元名运行修正命令,结果为 ExecMainStatus=0、Result=success、NRestarts=0。生产环境必须先修根因,再 reset-failed 和单次启动,不能靠放宽 StartLimit 掩盖永久错误。

参与排查