【Linux系列】Linux中dmesg命令详解

DATE: 2019-5-15


前言

    ‘dmesg’命令对设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作时,我们可以看到硬件的检测或者断开连接的信息。‘dmesg’命令在多数基于Linux和Unix的操作系统中都可以使用。今天在调试硬件设备时,设备API报错但是没有打印信息,可以通过dmesg命令查看,应该是硬件将相关API使用报错写到了这个ring buffer中。记录在里面,以备后面使用。

在这里插入图片描述

1、参考

dmesg七种用法
baike-dmeg
man-dmesg

2、dmesg命令详解

作用:

dmesg - print or control the kernel ring buffer
注:内核循环缓冲区中存放了系统开机信息。

用法:

Usage: dmesg [-c] [-n level] [-s SIZE]

选项:

-c Clear ring buffer after printing (当完成打印显示后清除环缓冲内的内容。)
-n LEVEL Set console logging level
-s SIZE Buffer size

选项的进一步说明:
-n LEVEL: 定义一个大小为"缓冲区大小"的缓冲区用于查询内核环缓冲区。默认大小为 8196(此大小与 2.0.33 和 2.1.103 内核的默认syslog 缓冲区大小一致),如果你设置了一个大于默认值的环缓冲区,那你就可以用这个选项定义一个相当的缓冲区来查看完整的环缓冲区内容。

dmesg命令用于打印Linux系统开机启动信息,kernel会将开机信息存储在ring buffer中。您若是开机时来不及查看信息,可利用dmesg来查看(print or control the kernel ring buffer)。开机信息亦保存在/var/log/dmesg的文件里。某些硬件设备(比如七号信令卡、语音卡之类)在安装的时候,通常会安装驱动程序(内核模块),会打印一些信息,就可以通过dmesg命令来查看。

3、dmesg实例

3.1、 列出加载到内核中的所有驱动

 dmesg | more

3.2、 列出所有被检测到的硬件

dmesg | grep sda

3.3、清空dmesg缓冲区日志

我们可以使用如下命令来清空dmesg的日志。该命令会清空dmesg环形缓冲区中的日志。但是你依然可以查看存储在‘/var/log/dmesg’文件中的日志。你连接任何的设备都会产生dmesg日志输出。

 dmesg -c

3.4、实时监控dmesg日志输出

watch "dmesg | tail -20"

THE END!

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飞翔的鲲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值