linux

怎样通过dmesg优化启动速度

小樊
48
2025-10-11 12:14:29
栏目: 编程语言

一、通过dmesg定位启动慢的关键线索

dmesg是Linux系统查看内核启动日志的核心工具,其输出包含硬件初始化、驱动加载、文件系统挂载、内核模块初始化等关键阶段的详细信息,是优化启动速度的“问题探测器”。具体可通过以下方式定位瓶颈:

二、基于dmesg结果的优化措施

1. 精简内核模块加载

2. 优化内核启动参数

3. 缩短硬件检测时间

4. 延迟非关键服务启动

三、进阶优化技巧:生成启动时间线图

若需更直观地分析启动瓶颈,可使用initcall_debug内核参数生成启动时间线图:

  1. 开启initcall_debug:在GRUB配置中添加initcall_debug(如linux /boot/vmlinuz-5.15.0 root=/dev/sda1 initcall_debug),重启系统。
  2. 收集dmesg日志:使用dmesg > boot.log保存内核日志(包含各初始化函数的耗时)。
  3. 生成启动图:将boot.log复制到Linux源码目录,运行scripts/bootgraph.pl boot.log > boot.svg,用Inkscape等工具打开boot.svg,查看各初始化阶段的耗时(如“early console init”“filesystem setup”),优先优化耗时最长的阶段(如某驱动初始化占用了5秒)。

通过以上步骤,可借助dmesg精准定位启动慢的根源,并采取针对性措施优化,显著缩短系统启动时间。

0
看了该问题的人还看了