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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux诊断机器故障工具—dmesg命令相关的知识,希望对你有一定的参考价值。

参考技术A 1、简介

dmesg 命令主要用来显示内核信息。使用 dmesg 可以有效诊断机器硬件故障或者添加硬件出现的问题。另外,使用 dmesg 可以确定您的服务器安装了哪些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg 命令可以查看该记录,开机信息亦保存在/var/log目录中,名称为dmesg的文件里。

2、dmesg命令常用格式

[root@RedHat_test ~]# dmesg [-cn][-s <缓冲区大小>]

-c: 当完成打印显示后清除环缓冲内的内容。

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

-n: 级别。设置级别为记录控制台启动信息的级别。比如,-n 1指的就是将此级别设为最低级,除了内核恐慌信息之外不会向控制台显示信息。所有级别的启动信息还将记录到/proc/kmsg,文件中,因此,syslogd(8)同样可以用来对信息的输出进行控制。当使用-n选项时,dmesg将不会 清除内核环缓冲区中的内容。当同时使用以上两个选项时,只有最后一个选项才会产生效果。

3、将系统启动信息保存到文件中

[root@RedHat_test ~]# dmesg > messages.txt

4、单页输出

[root@RedHat_test ~]# dmesg | more

[root@RedHat_test ~]# dmesg | less

5、以可读性较好的形式输出信息

[root@RedHat_test ~]# dmesg -H

6、设置记录信息的层级

[root@RedHat_test ~]# dmesg -n 3

7、打印输出内存

[root@RedHat_test ~]# dmesg | tail -f #打印输出最近一次的信息

[root@RedHat_test ~]# dmesg | head -20 #打印输出前20行的信息

[root@RedHat_test ~]# dmesg | tail -20 #打印输出最后20行日志

8、实时监控dmesg日志的输出信息

[root@RedHat_test ~]# watch "dmesg | tail -20"

9、搜索包含特定字符串的被检测到的硬件

[root@RedHat_test ~]# dmesg | grep DMA #查看硬盘的运行模式

[root@RedHat_test ~]# dmesg | grep eth #查看以太网的连接信息

[root@RedHat_test ~]# dmesg | grep sda #查看硬盘设备

[root@RedHat_test ~]# dmesg | grep ttyS* #查看串口的相关信息

[root@RedHat_test ~]# dmesg | grep -i memory #查看内存状况

[root@RedHat_test ~]# dmesg | grep -i usb #查看usb接口

[root@RedHat_test ~]# dmesg |egrep -i "(apm|acpi)" #探测系统内核模块,检测ACPI的加载情况

10、将开机信息发邮件

[root@RedHat_test ~]# dmesg >boot.messages

[root@RedHat_test ~]# mail -s "Boot Log of Linux Server" public@web3q.net <boot.messages

11、打印并清除内核环形缓冲区

[root@RedHat_test ~]# dmesg -c

关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。

Linux常用命令——dmesg

dmesg  系统启动异常诊断

语法格式:dmesg 【option】 dmesg [选项]
注意:dmesg 命令及后面的选项里,每个元素之间都要至少要有一个空格
dmesg 用于显示内核环形缓冲区的内容。在进行系统引导时,内核会将硬件和模块初始化相关的信息写到这个缓冲区中。内核环形缓冲区中的信息对于诊断系统问题是非常有用的。
内核环形缓冲区的内容同时会保存在 /var/log 目录中,即名称为 dmesg 的文件里,可以通过如下命令进行查看:

技术分享图片
案例一:
查看内核环形缓冲区
技术分享图片

以上是关于Linux诊断机器故障工具—dmesg命令的主要内容,如果未能解决你的问题,请参考以下文章

dmesg功能介绍

dmesg 命令七种用法

dmesg 命令七种用法

linux dmesg 查看系统故障信息

Linux dmesg命令

Linux系列Linux中dmesg命令详解