开机启动流程该不该用:先看它解决的问题是不是你的问题

Linux · 3 分钟阅读· 550 次阅读

systemd-analyze 会给出固件、引导、内核、用户空间四段时间,先看最长的一段

它擅长的是排查开机变慢;如果你只是服务器最小化启动,用现成的东西更省事。

先说结论

开机流程值得懂,但优化启动时间性价比很低,除非你要批量重启

  • 适合:排查开机变慢
  • 不适合:救援与恢复
  • 学习成本:blame 按耗时排序,但并行启动的服务加起来会超过总时间,别直接相加
  • 最大收益:graphical.target 拉起的服务比 multi-user.target 多,服务器装桌面会慢十秒以上
  • 最大风险:改完 fstab 不跑 mount -a 就重启,直接掉进 emergency mode

它到底解决什么

systemd-analyze 会给出固件、引导、内核、用户空间四段时间,先看最长的一段。

换句话说,它把「排查开机变慢」这件事从手工变成可重复的流程。这是它真正的价值,而不是功能列表的长度。

什么时候不该用

下面三种情况,用了反而更累:

改完 fstab 不跑 mount -a 就重启,直接掉进 emergency mode

把 GRUB_TIMEOUT 设成 0 又删了旧内核,出问题进不去菜单

往 initramfs 里加错模块,开机卡在 Waiting for root device

和替代方案比

GRUB_TIMEOUT=0 时菜单是隐藏的,要按住 Shift 或反复按 Esc 才能调出来。

方案 上手成本 适用规模 代价
开机启动流程 中等 中大型 需要维护
保持发行版默认 低 小型 定制能力弱
精简 target 与服务 低 一次性任务 不可维护

开机启动流程该不该用

这台工具的关键细节

几个决定长期体验的点:

  • blame 按耗时排序,但并行启动的服务加起来会超过总时间,别直接相加
  • graphical.target 拉起的服务比 multi-user.target 多,服务器装桌面会慢十秒以上
  • initramfs 缺驱动时表现为卡在 Waiting for root device,和硬盘好坏无关

我的建议

开机流程值得懂,但优化启动时间性价比很低,除非你要批量重启。

先用两周,跑一个真实的小任务;两周后你还想用它,再谈长期。

工具是解法,不是身份。

评论 (3)

老
老吴

备份没验证过等于没有,这条我认。

阿
阿哲

排查顺序那段直接抄进值班手册了。

南
南风

「先看日志再猜」这句话值一篇文。

发表评论

验证码

提交后需站长审核,通过后才会显示。