Linux dmesg 查看系统启动日志

dmesg 是 Linux 系统中一个用于**显示和控制内核环形缓冲区(kernel ring buffer)**内容的命令行工具。它主要用于查看系统启动过程以及运行时内核生成的硬件检测、驱动加载和错误事件等日志信息。

核心功能与工作原理

  • 功能 :dmesg 的核心作用是帮助用户了解系统启动信息,诊断硬件兼容性问题、内核崩溃以及监控设备状态。它记录的信息包括系统架构、CPU详情、内存映射、所有被检测到的硬件(如硬盘、USB设备)以及内核模块的加载情况等。
  • 工作原理 :内核在启动和运行过程中会将日志信息写入一个固定大小的环形缓冲区。dmesg 命令通过读取 /dev/kmsg 等设备文件来访问这个缓冲区的内容。由于该缓冲区采用循环存储机制,当存满时,新的信息会覆盖旧的信息。

基本语法与常用选项

命令的基本语法为 dmesg [选项]。以下是一些最常用的选项和用法:

选项 功能描述 示例
无选项 显示环形缓冲区中的所有内核消息。 dmesg
-c 或 --clear 显示信息后,清除环形缓冲区内的内容。 dmesg -c
-w 或 --follow 实时监控 新的内核消息,类似于 tail -f 的效果。 dmesg -w
-T 或 --ctime 使用易读的本地时间戳显示每条消息的时间(注意:在系统挂起/恢复后可能不准确)。 dmesg -T
-l, --level 按日志级别过滤 输出。级别包括 emerg, alert, crit, err, warn, notice, info, debug。 dmesg -l err,crit (仅显示错误和严重信息)
-f, --facility 按设施类别过滤 输出。类别包括 kern, user, mail, daemon 等。 dmesg -f daemon (显示守护进程消息)
-H 或 --human 以更人性化、易读的格式输出信息。 dmesg -H
**结合管道 ` `** 与其他命令(如 grep, less, tail)结合,用于搜索、过滤或分页查看。

主要应用场景与实例

  1. 诊断启动问题 :开机后若未能看到启动信息,可直接运行 dmesg 查看完整的启动日志,分析硬件初始化或驱动加载失败的原因。
  2. 排查硬件故障 :当连接或移除硬件(如USB设备、硬盘)时,可以通过 dmesg 查看内核是否识别到该设备及相关的状态信息。例如,使用 dmesg | grep sda 来查看第一块SATA硬盘的检测和挂载详情。
  3. 监控系统事件 :使用 dmesg -w 可以实时观察内核新产生的事件和错误,对于动态调试非常有用。
  4. 保存和分享日志 :可以将内核消息保存到文件中,便于分析或发送给他人协助调试。命令为 dmesg > messages.txt。
  5. 清除缓冲区 :在某些调试场景下,可能需要先使用 dmesg -c 清空现有日志,然后重现问题,以获得干净、相关的日志输出。

注意事项

  • 默认情况下,查看完整的 dmesg 输出可能需要 sudo 权限。
  • 除了通过 dmesg 命令查看,系统启动信息通常也会保存在 /var/log/dmesg 文件中。
  • 与系统日志服务(如 rsyslog/syslog)相比,dmesg 提供的是更底层、由内核直接产生的原始日志,两者功能互补。
相关推荐
夜听莺儿鸣3 小时前
502-003_Linux 中断与异常(一):从Linux角度理解中断与异常
linux·中断与异常·linux中断
杨云龙UP4 小时前
TDengine 3.4.2.8 Community 三节点三副本生产集群部署实战(DNode/MNode/taosAdapter/Explorer)
大数据·linux·运维·数据库·tdengine·时序库
向成科技5 小时前
XC3576H工控主板|深度适配Ubuntu 26.04 LTS,释放边缘AI与工业开发新潜能
linux·人工智能·ubuntu·机器人·硬件·主板·边缘ai
Fcy6485 小时前
Linux下 进程间关系与守护进程
linux·运维·服务器·守护进程
码农小韩6 小时前
Linux驱动理论(二)——Linux字符设备驱动
linux·嵌入式软件开发·linux操作系统·linux应用开发·linux驱动理论
well06126 小时前
Linux粘滞位与Makefile机制深度解析
linux·运维·服务器
再写一行代码就下班6 小时前
linux sh脚本在windows修改导致无法使用解决方式
java·linux·centos
额额额对了6 小时前
SPI通信
linux·c语言·汇编·单片机·嵌入式硬件·arm
子木HAPPY阳VIP7 小时前
Ubuntu 关闭防火墙操作步骤
linux·运维·ubuntu
王振超wzc7 小时前
嵌入式开发环境搭建--WM软件安装,Ubuntu操作系统安装
linux·运维·ubuntu