【linux】dmesg工具

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

https://zhuanlan.zhihu.com/p/534098236

相关推荐
goodcitizen6 个月前
[kernel] 带着问题看源码 —— 进程 ID 是如何分配的
likely·dmesg·printk·pidmap·klogctl·proc-pid-max