journalctl 排查服务启动失败的正确姿势
status 只看结论,真正的原因在 journal 里。
从哪开始
systemctl status 给出的是服务当前状态和最后几行输出,信息量有限。定位启动失败应该直接看 journalctl -u 服务名。
四个常用参数
-n 50 看最后五十行;-f 实时跟随;--since 指定时间范围,用来避开刷屏;-p err 只看错误级别。组合起来基本能覆盖大部分排查场景。
两种典型失败
配置语法错误:服务本身启动成功又立刻退出,journal 里能看到它自己打印的解析报错。
依赖未就绪:服务启动时需要的端口或文件还没准备好。这种情况加启动重试比改依赖顺序更稳。
别忘了日志也会占盘
journal 默认会持续增长,别忘给它设一个容量上限,否则排查完的日志会变成下一条报警。