发布于2026-07-03 阅读(0)
扫一扫,手机访问
要说排查Linux系统启动慢的问题,dmesg绝对是第一把交椅。它的输出里藏着硬件初始化、驱动加载、文件系统挂载、内核模块初始化等所有关键阶段的细节,堪称优化启动速度的“问题探测器”。想动手优化启动时间?先学会用它定位瓶颈。

具体怎么用?下面几个抓重点的方法值得先收下:
dmesg | grep -i "error|failed|warning",就能把硬件检测失败(比如磁盘坏道)、驱动加载异常(比如显卡驱动不兼容)这些阻塞启动流程的元凶筛出来。[1.234567] sd 0:0:0:0: [sda] Attached SCSI disk这样的),如果某个硬件初始化时间过长(机械硬盘寻道慢尤其典型),那换块SSD或优化硬件配置就是优先选项。dmesg | grep -i "module"查看模块加载日志,那些不必要的模块(比如虚拟化模块、未使用的硬件驱动)如果也在启动时排队加载,内核初始化时间就这么被拖长的。/dev/sda1 / ext4 rw这类日志,挂载时间超过1秒就需要警惕了,可能是磁盘I/O性能太差或者文件系统有错误(试试用fsck修复)。CONFIG_PRINTK_TIME,dmesg输出里就有精确的时间戳(比如从[0.000000] Linux version 5.15.0到[2.345678] EXT4-fs (sda1): mounted filesystem的时间差),哪个阶段耗时最长一目了然。lsmod看当前加载了哪些模块,再对照dmesg里的模块加载日志,把蓝牙、无线网卡驱动这类用不上的直接从内核配置里移除(编译时设CONFIG_MODULE_UNLOAD=y,方便以后动态加载)。modprobe -r 卸载,然后通过/etc/modprobe.d/blacklist.conf加入黑名单,真正需要时手动sudo modprobe 加载就行。启动时的模块初始化负担一下子就减轻了。Waiting for root device /dev/sda1...这种提示,说明系统在傻等root设备就绪。在GRUB配置里改rootwait=5(从默认30秒缩短到5秒),只要设备能在5秒内准备好,启动就能快不少。quiet(比如linux /boot/vmlinuz-5.15.0 root=/dev/sda1 quiet),内核启动时的日志输出(尤其是调试信息)会大幅减少,省下的日志写入时间虽然不多,但聊胜于无。Uncompressing Linux... done, booting the kernel这行前后时间差大),可以试试换个压缩算法。测试表明,lz4的解压速度比gzip快约30%,配合SSD效果更明显(当然需要重新编译内核)。CONFIG_USB_LEGACY=y改成n),硬件探测时间就能省下来。sd 0:0:0:0: [sda] Assuming drive cache: write through),可以试试把磁盘缓存模式改成write back(用hdparm -W1 /dev/sda设置,前提是磁盘支持)。要是机械硬盘,升级到SSD是最立竿见影的办法——随机读写速度能提升5-10倍。systemctl list-unit-files --state=enabled看看哪些服务是开机自启的,再结合dmesg里的服务启动日志(比如[3.456789] systemd: Starting Network Manager...),把蓝牙、打印服务这类非关键的设成延迟启动(systemctl enable --now --no-block )或者手动启动,避免它们阻塞SSH、数据库等核心服务。systemd-analyze plot > boot.svg生成启动时间线图,能直观看到各服务是否并行执行——如果发现有串行阻塞的点,调整依赖关系就能进一步提速。如果觉得上面的方法还不够直观,可以祭出initcall_debug内核参数,生成一张启动时间线图:
initcall_debug(比如linux /boot/vmlinuz-5.15.0 root=/dev/sda1 initcall_debug),重启系统。dmesg > boot.log把带各初始化函数耗时的日志保存下来。boot.log复制到Linux源码目录,执行scripts/bootgraph.pl boot.log > boot.svg,然后用Inkscape等工具打开生成的SVG文件。图上每个初始化阶段(比如“early console init”“filesystem setup”)的耗时一目了然——优先优化那些占用5秒以上的大头就行。照着这些步骤走,dmesg就成了你手里的精准定位仪,启动速度优化也就有了明确的方向。实际操作中,往往改几个参数、去掉几个模块就能看到明显改善。不妨从今天开始试一试。
上一篇:dmesg日志对系统更新有何作用
下一篇:dmesg日志在故障恢复中的作用
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8