linux

如何利用dmesg优化系统启动速度

小樊
39
2025-11-28 04:39:21
栏目: 编程语言

用 dmesg 定位瓶颈并用针对性优化缩短启动时间


一、快速定位瓶颈


二、把耗时环节做成“可视化时间线”


三、常见高影响问题与 dmesg 线索


四、从内核到用户空间的闭环优化


五、可复用的操作流程清单

  1. 采集日志:dmesg -T > boot.log;必要时 journalctl -k -b -e 补充持久化日志。
  2. 初筛问题:grep -i “error|fail|warn|timeout” boot.log;按设备类目二次过滤(usb/pci/nvme/block/fs)。
  3. 生成时间图:perl scripts/bootgraph.pl boot.log > boot.svg,定位最长 initcall。
  4. 实施优化(按影响度从高到低):
    • 控制台输出:加 quiet;必要时降低打印级别。
    • 驱动:非关键驱动改模块并延后加载;对可延后者返回 -EPROBE_DEFER。
    • 硬件交接:升级 BIOS;尝试 usbcore.quirks;必要时延后相关控制器驱动。
    • 存储/文件系统:优化 fstab 挂载选项;必要时异步/后台 fsck;评估 initramfs 精简与拼接。
    • 内核/引导:裁剪配置、选优压缩、预设 lpj;缩短/优化引导器流程。
  5. 复测与回归:对比 boot.log 与 boot.svg,确认关键阶段耗时下降;保留关键日志以便后续排障。

0
看了该问题的人还看了