首页/AI/大模型部署与运维速查/崩溃循环:先停自愈再抓现场
运维监控与排障50 条

崩溃循环:先停自愈再抓现场

服务反复重启时,自愈机制会把崩溃日志刷成噪音;处置是先暂停自动重启、拿到崩溃瞬间的退出码与日志,再决定修复路径,避免在循环里弄丢现场。

取证

取证
systemctl status <服务> | head -30            # 看 NRestarts 计数
docker inspect --format '{{.RestartCount}} {{.State.OOMKilled}}' <容器>
journalctl -u <服务> -n 200 --no-pager | tail -50
退出码 137常为 SIGKILL:优先怀疑 OOM 或组件超时杀
退出码 1应用异常退出:看 traceback 首段
退出码 143收到 SIGTERM:先查是谁在发信号
OOMKilled=true容器被内核杀:核对 cgroup 内存限额
排查期间临时把 Restart 策略收敛(on-failure 且设上限)或停掉 unit,防止刷屏与反复抢占 GPU。

易错点

  • 盯着「又重启了」刷日志:先让循环停下来,静止状态下的最后一屏才是证据

数据来源与参考

  • systemd.service 手册:Restart(freedesktop.org)
  • Docker 官方文档:docker inspect 与容器状态
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌