Linux 怎么使用 dmesg 配合时间戳排查开机引导慢的故障

阿静君_1774

阿静君_1774

2026-09-05

358人浏览

原创

dmesg --time-format=iso最可靠:输出iso 8601格式真实时间戳,不依赖系统时钟校正;辅以-l err,warn和关键词过滤,结合上下文定位开机卡点。

linux 怎么使用 dmesg 配合时间戳排查开机引导慢的故障

dmesg 是定位开机慢最直接的工具,关键在时间戳要准、筛选要狠、上下文要看全。默认相对时间难对应实际事件,-T 又容易失真,得换更稳的方式。

用对时间格式,别被“假时间”带偏

内核日志里 [ 1.234567] 这种数字是启动后秒数,不是真实时间。-T 把它硬加当前系统时间,一旦 NTP 校正过、虚拟机时钟漂移、或手动改过 time,结果就不可信——可能差几分钟甚至倒退。

  • 推荐用 dmesg --time-format=iso:输出像 2026-07-29T10:15:22.345678,读的是内核写日志时的真实时间戳,不依赖系统时钟
  • 老内核没这个参数?用 dmesg -H(Linux 5.7+),自带倒序、颜色、稳定时间格式
  • 想看启动早期卡点?重点盯 0–5 秒内 的日志,比如 [ 0.000000] 到 [ 4.999999],多数硬件初始化失败发生在这里

聚焦错误和超时,跳过启动杂讯

完整 dmesg 输出里 90% 是 info 级别启动信息,真正拖慢启动的线索藏在 err/warn 和特定行为词里。

linux-performance-analyzer
linux-performance-analyzer

Linux 性能分析与调优专家,覆盖 CPU、内存、磁盘 I/O、网络、内核参数、编译优化、容器/K8s。适用场景:系统卡顿/高负载、内存不足/OOM/Swap 高、CPU 异常/iowait 高。

下载
  • 先筛级别:dmesg -l err,warn --time-format=iso
  • 再加关键词过滤:dmesg -l err,warn --time-format=iso | grep -i "fail\|timeout\|hang\|wait\|no response\|link down"
  • 特别注意成簇出现的记录,比如连续几条 nvme0n1: I/O timeout 后跟 reset controller,说明 PCIe 链路不稳定,不是硬盘本身坏
  • 别只搜 “error”:像 ACPI: EC: GPE storm detected 或 ata1: soft reset failed 这类不带 error 字但明确阻塞流程的日志,更要优先处理

结合上下文定位卡点位置

单看一条报错不够,得看它前后发生了什么。比如某设备加载超时,前一步是不是驱动 probe 失败?后一步是不是挂载被阻塞?

  • 用 dmesg --time-format=iso | less 慢翻,按 / 键搜索关键词,再用 k/j 上下移动看邻近行
  • 对比正常启动日志:先存一份干净日志 dmesg > /tmp/dmesg-good.log,出问题时再比对差异
  • 关注典型卡点模块:USB 控制器初始化慢、NVMe 驱动等待 PHY 就绪、RAID 卡扫描超时、ACPI 表解析失败,这些都常出现在 1–3 秒区间

临时干预验证假设

找到可疑项后,别只看日志,要动手试。很多启动慢是某个模块或设备拖住整个流程。

  • 禁用可疑驱动:在 /etc/modprobe.d/blacklist.conf 加 blacklist radeon 或 blacklist nouveau,然后更新 initramfs
  • Debian/Ubuntu:sudo update-initramfs -u
  • RHEL/Fedora:sudo dracut -f
  • 加内核启动参数绕过检测:比如 rd.driver.blacklist=nouveau 或 acpi_enforce_resources=lax,通过 GRUB 编辑启动项临时测试

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

2023.06.21

3690

4

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

2023.06.29

3213

10

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

2023.06.30

2273

5

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

2023.07.05

5450

7

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

2023.07.06

5102

7

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.20

3053

8

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

2023.07.20

2545

4

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

2023.07.25

2759

6

linux查找文件命令
linux查找文件命令

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.07.31

277

3

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习