dmesg介绍
dmesg工具用途:
dmesg - print or control the kernel ring buffer
kernel ring buffer, 内核环形缓冲区,也叫环形队列,Linux内核日志就存储在一个环形队列中,环形队列满的时候,新的消息会覆盖掉旧的消息。
Linux内核启动时、有新硬件时,都会加载驱动,这部分活动是记录在内核日志里的,如果应用崩溃也会记录在内核日志。内核日志可以使用dmesg命令查看。
dmesg使用
dmesg的一些常用选项
| 选项 | 说明 |
|---|---|
| -C, --clear | 清除内核环形缓冲区(ring buffer) |
| -c, --read-clear | 读取并清除所有消息 |
| -T, --ctime | 显示易读的时间戳 |
| -w, --follow | 等待新消息 |
dmesg支持的日志设施:
| 参数 | 含义 |
|---|---|
| kern | 内核消息 |
| user | 随机的用户级消息 |
支持的日志级别
| 参数 | 含义 |
|---|---|
| emerg | 系统无法使用 |
| alert | 操作必须立即执行 |
| crit | 紧急条件 |
| err | 错误条件 |
| warn | 警告条件 |
| notice | 正常但重要的条件 |
| info | 信息 |
| debug | 调试级别的消息 |
打印内核日志
bash
dmesg
直接运行dmesg,会把所有的内核日志打印出来。

等待内核日志输出
相当于tail -f,会等待新的内核日志输出
bash
dmesg -w
日志携带时间戳
bash
dmesg -T

打印指定级别的日志
bash
dmesg -l emerg
dmesg -l emerg,alert,crit,err

打印指定设施的日志
bash
dmesg -f syslog
dmesg -f syslog,news

参考资料
菜鸟教程
https://www.runoob.com/linux/linux-comm-dmesg.html
Linux内核日志查看之dmesg命令简介
https://blog.csdn.net/guotianqing/article/details/108401743
ring buffer