Linux命令dmesg用来显示开机信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看。开机信息亦保存在/var/log目录中,名称为dmesg的文件里
===============================================
参数:
-T
查看结果 包含时间
-c 清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘/var/log/dmesg’文件中的日志。
-i
忽略大小写
-s<缓冲区大小>
预设置为8196,刚好等于ring buffer(循环缓冲区)的大小;
使用示例:
1.列出加载到内核中的所有驱动,使用more或less展示
我们可以使用如‘more’。 ‘tail’, ‘less ’或者‘grep’文字处理工具来处理‘dmesg’命令的输出。由于dmesg日志的输出不适合在一页中完全显示,因此我们使用管道(pipe)将其输出送到more或者less命令单页显示。
dmesg -T | more
使用Ctrl+C 退出
dmesg -T | less
使用ctrl+Z 退出
2.列出所有被检测到的硬件
dmesg -T | grep sda
3.只输入dmesg的前20行
dmesg -T | head -20
4.只输入dmesg的后20行
dmesg -T | tail -20
5.搜索包含特定字符串的被检测到的硬件
由于‘dmesg’命令的输出实在太长了,在其中搜索某个特定的字符串是非常困难的。因此,有必要过滤出一些包含‘usb’ ‘dma’ ‘tty’ ‘memory’等字符串的日志行。grep 命令 的‘-i’选项表示忽略大小写。
dmesg -T | grep -i usb
dmesg -T | grep -i dma
dmesg -T | grep -i tty
dmesg -T | grep -i memory
6.查看 OOM
dmesg -T | grep 'Out of memory'
7.实时监控dmesg日志输出
watch "dmesg -T | tail -20"
Ctrl+C 退出
8.清空dmesg缓冲区日志
我们可以使用如下命令来清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘/var/log/dmesg’文件中的日志。
dmesg -c