美文网首页Shell编程
Linux dmesg命令介绍

Linux dmesg命令介绍

作者: 煎鱼不可能有BUG | 来源:发表于2018-05-31 17:03 被阅读183次

dmesg命令是用来在Unix-like系统中显示内核的相关信息的。dmesg全称是display message (or display driver),即显示信息。

实际上,dmesg命令是从内核环形缓冲区中获取数据的。当我们在Linux上排除故障时,dmesg命令会十分方便,它能很好地帮我们鉴别硬件相关的error和warning。除此之外,dmesg命令还能打印出守护进程相关的信息,已帮助我们debug。

本文中,我们会讨论一下比较实用的几个dmesg具体命令。

默认显示选项

dmesg

这个是Mac下的dmesg命令:

image

这是Linux(树莓派)下的dmesg命令:

image

需要注意的是,某些情况下(如在Mac下),需要sudo。

如果太长了可以像以上一样后接管道和head命令,或后接管道和less或more。

显示和内存、硬盘、USB、TTY相关的信息

dmesg | grep -i memory
dmesg | grep -i dma
dmesg | grep -i usb
dmesg | grep -i tty

好吧,这个不应该算是dmesg的技巧,应该算是linux管道的技巧。

如果全都要,可以:

dmesg | grep -E "memory|dma|usb|tty"

然后输出大概如下:

image

读后删选项

如果想要在读取dmesg后,删除已读的日志,可以加上-C选项:

dmesg -C

输出日志显示颜色

如果输出的日志是纯白或纯黑的,就会显得很不友善,想要colorful就可以加上-L选项:

dmesg -L

实际情况是,我试了一下根本没有显示颜色,而help里面还说color是默认开启的,迷惑中。

只输出特定类型的信息

比如说,我只想输出守护进程的信息:

dmesg --facility=daemon

效果如下:

image

其中facility选项还可以填入,kern、user、mail、daemon、auth、syslog、lpr、news。

奇怪,现在倒是默认地显示出颜色来了。

只输出特定级别的信息

有的时候我们只要要error以及warning,不要别的等级的信息,可以使用如下命令:

dmesg --level=err,warn

然后系统的error以及程序员都不看的warning就展示了出来:

image

level选项还可以填入别的等级,例如emerg、alert、crit、err、warn、notice、info、debug。

显示时间戳

需要注意到的是,dmesg命令默认的时间显示是从开机到log记录的时间,说实话,这样对于人类来说真的不方便,我们需要时间:

dmesg -T
image

相信我,舒服多了。

更进一步,把级别也显示出来:

dmesg -Tx
image

显示原始数据

dmesg默认输出的信息是处理过的,想要显示原始数据(raw data):

dmesg -r
image

根据原始数据,我们不难猜出,<6>就是info级别、<5>就是notice级别等等的转译细节。

先这样吧

若有错误之处请指出,更多地关注煎鱼

相关文章

  • Linux dmesg命令介绍

    dmesg命令是用来在Unix-like系统中显示内核的相关信息的。dmesg全称是display message...

  • linux dmesg命令

    显示具体时间 参考:【1】dmesg七种用法

  • Linux命令学习手册-dmesg

    功能 显示开机信息。 举例 打印系统启动的信息 这样,会在屏幕上面打印出系统启动的相关信息。 将系统启动信息保存到...

  • 说说dmesg

    dmesg命令可查看Linux系统的内核日志。 可以查看因为OOM(out of memory)而杀死的进程。 O...

  • 不熟悉的Linux命令

    dmesg ‘dmesg’命令设备故障的诊断是非常重要的。在‘dmesg’命令的帮助下进行硬件的连接或断开连接操作...

  • linux平台下如何查看CPU的虚拟化是否开启

    在linux平台下,我们可以通过dmesg |grep kvm命令来查看。如果CPU没有虚拟化的话,显示如下: 如...

  • dmesg介绍

    技术分享 问题背景,我们的环境上偶尔会出现core文件不完整的情况,以前出现这种情况都没有办法及时处理,今天看文章...

  • Linux 常用的设备命令

    lscpu 命令 free 命令 显示系统内存状态 dmesg 命令 lsblk 命令

  • Linux 上的 dmesg 和 message 日志

    dmesg 日志 dmesg 命令主要用来显示内核信息。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现...

  • 每天学习一个命令之dmesg

    https://www.runoob.com/linux/linux-comm-dmesg.html[https:...

网友评论

    本文标题:Linux dmesg命令介绍

    本文链接:https://www.haomeiwen.com/subject/kyzqsftx.html