dmesg
命令可显示内核环形缓冲区中的所有消息(包括启动过程和运行时信息),若输出过长,可重定向到文件(如dmesg > dmesg.log
)便于后续分析。dmesg -w
或dmesg --follow
命令实时监控内核新产生的消息,适用于调试正在发生的系统问题(如硬件插入、服务异常)。dmesg -c
或dmesg --clear
可清空当前环形缓冲区中的所有消息(谨慎使用,清空后无法恢复)。grep
命令筛选特定关键字(如硬件设备名、驱动名、错误类型),快速定位相关消息。常用示例:
dmesg | grep -i usb
dmesg | grep -i eth0
dmesg | grep -i error
-l
参数指定日志级别,聚焦重要事件(日常排查重点关注err
和warn
级别)。常用示例:
dmesg -l err,warn
dmesg -l emerg,alert,crit
dmesg -l debug,notice,info,err,warn
-f
参数按日志设施(如kern
内核消息、user
用户级消息)过滤,缩小范围。示例:dmesg -f kern
仅显示内核消息。-T
或--time
参数将内核环形缓冲区中的时间戳转换为人类可读的本地时间(格式:YYYY-MM-DD HH:MM:SS
),便于关联事件发生时间。示例:dmesg -T
。-u
或--utc
参数显示UTC时间(避免时区混淆),适合跨时区运维场景。示例:dmesg -u
。USB device not responding
(USB设备无响应)、IOMMU: No translation found for address
(IOMMU地址翻译失败)、ACPI Error: AE_NOT_FOUND
(ACPI对象未找到),通常伴随设备无法识别或功能异常。driver xxx has been banned from the kernel
(驱动因反复错误被内核禁止)、ERROR: Module yyy not found
(模块未找到)、module verification failed
(模块签名验证失败),需检查驱动安装或更新。Out of memory
(内存不足)、vmalloc(): Out of vmalloc area
(vmalloc区域耗尽)、Kernel panic - not syncing
(内核恐慌,严重硬件或内存问题),需排查内存泄漏或扩容。EXT4-fs (sda1): error counting free blocks
(EXT4文件系统空闲块计数错误)、VFS: Unable to mount root fs
(无法挂载根文件系统),需修复文件系统(如使用fsck
)。eth0: no link
(以太网接口无链接)、Failed to bring up eth0
(无法启动接口)、RTNETLINK answers: File exists
(路由重复),需检查网线、接口配置或路由表。tail
查看最新日志:使用watch -n 1 'dmesg | tail'
命令每秒刷新显示日志最后10行,实时跟踪最新事件(如服务重启、设备插入)。dmesg > dmesg.log
将日志保存到文件,便于长期保存或跨设备分析(如发送给技术支持)。dmesg -n <级别>
调整(如dmesg -n 8
显示所有级别日志,8
为最低级别,包含debug
信息),但会增加日志量,建议仅在排查问题时使用。