systemd 服务启动慢怎么用 journalctl 和依赖顺序排查
有台内部服务重启要两三分钟,业务同事只看到页面打不开,值班同学一直重启 systemctl restart,结果每次都慢。服务本身启动不慢,慢在 systemd 等一个网络挂载。 我排查时先看 systemctl status 和 journalctl -u service -b,确认卡在哪个时间点;再用 systemd-analyze blame 和 critical-chain 看启动链路。最后发现 unit 文件里 After=network-online.target 和一个旧的 mount dependency 绑在一起,挂载偶尔超时就拖住服务。处理上先把不必要的依赖拆掉,把需要的目录改成应用启动后健康检查,再给 TimeoutStartSec 写成合理值。 经验是,启动慢不要只看应用日志。建议运维同事把 unit 文件里的 After、Requires、Wants 分清楚,改…