Linux系列Linux中dmesg命令详解

Posted 飞翔的鲲

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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!

以上是关于Linux系列Linux中dmesg命令详解的主要内容,如果未能解决你的问题,请参考以下文章

Linux诊断机器故障工具—dmesg命令

Linux的翻页命令more和less怎么使用

linux中的dmesg命令输出的内容是从哪个文件里面获取的?

Linux常用命令——dmesg

Linux dmesg命令

Linux 命令小记:dmesg命令