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 提供的是更底层、由内核直接产生的原始日志,两者功能互补。
相关推荐
事圆则缓12 分钟前
Ubuntu 安装与配置 Samba 服务器
linux·服务器·ubuntu
GeW19 分钟前
每天2小时,21天闭环计划-RHCE通关时间表全公开
linux
weixin_450813531 小时前
pdf文档转为markdown文档
linux·pdf
我的小卷呀2 小时前
Linux ip 命令底层逻辑与实战指南
linux·运维·c语言·网络协议·tcp/ip·网络安全
handler012 小时前
【Linux】ELF、链接与动态库,程序装载全解析
linux·运维·服务器·chrome·c·elf·文件
dishugj2 小时前
操作系统四大特征|软考架构师考点梳理
java·linux·服务器
Huangjin007_3 小时前
【Linux 系统篇(十九)】进程(七):深入理解虚拟地址空间:从进程地址空间到内核管理
linux·运维·服务器
YIN_尹3 小时前
【Linux系统编程】模拟实现一个最简版C语言标准IO库
linux·服务器·c语言
aningx3 小时前
使用自定义bash脚本预防oom卡死 v2
linux
cjp5605 小时前
011. UG二次开发,UG管道通讯服务器与wpf客户端通讯
linux·运维·服务器