journalctl 排查服务启动失败的正确姿势

2026-05-27

status 只看结论,真正的原因在 journal 里。

从哪开始

systemctl status 给出的是服务当前状态和最后几行输出,信息量有限。定位启动失败应该直接看 journalctl -u 服务名。

四个常用参数

-n 50 看最后五十行;-f 实时跟随;--since 指定时间范围,用来避开刷屏;-p err 只看错误级别。组合起来基本能覆盖大部分排查场景。

两种典型失败

配置语法错误:服务本身启动成功又立刻退出,journal 里能看到它自己打印的解析报错。

依赖未就绪:服务启动时需要的端口或文件还没准备好。这种情况加启动重试比改依赖顺序更稳。

别忘了日志也会占盘

journal 默认会持续增长,别忘给它设一个容量上限,否则排查完的日志会变成下一条报警。