欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-02-23 21:05:52
...

1、简介

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

2、dmesg命令常用格式

 [aaa@qq.com_test ~]# dmesg [-cn][-s <缓冲区大小>]
 -c: 当完成打印显示后清除环缓冲内的内容。
 -s: 缓冲区大小。定义一个大小为"缓冲区大小"的缓冲区用于查询内核环缓冲区。默认大小为 8196(此大小与 2.0.33 和 2.1.103 内核的默认syslog 缓冲区大小一致),如果你设置了一个大于默认值的环缓冲区,那你就可以用这个选项定义一个相当的缓冲区来查看完整的环缓冲区内容。
 -n: 级别。设置级别为记录控制台启动信息的级别。比如,-n 1指的就是将此级别设为最低级,除了内核恐慌信息之外不会向控制台显示信息。所有级别的启动信息还将记录到/proc/kmsg,文件中,因此,syslogd(8)同样可以用来对信息的输出进行控制。当使用-n选项时,dmesg将不会 清除内核环缓冲区中的内容。当同时使用以上两个选项时,只有最后一个选项才会产生效果。

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

 [aaa@qq.com_test ~]# dmesg > messages.txt

4、单页输出

 [aaa@qq.com_test ~]# dmesg | more
 [aaa@qq.com_test ~]# dmesg | less

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

 [aaa@qq.com_test ~]# dmesg -H

6、设置记录信息的层级

 [aaa@qq.com_test ~]# dmesg -n 3

7、打印输出内存

 [aaa@qq.com_test ~]# dmesg | tail -f #打印输出最近一次的信息
 [aaa@qq.com_test ~]# dmesg | head -20 #打印输出前20行的信息
 [aaa@qq.com_test ~]# dmesg | tail -20 #打印输出最后20行日志

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

 [aaa@qq.com_test ~]# watch "dmesg | tail -20"

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

 [aaa@qq.com_test ~]# dmesg | grep DMA #查看硬盘的运行模式
 [aaa@qq.com_test ~]# dmesg | grep eth #查看以太网的连接信息
 [aaa@qq.com_test ~]# dmesg | grep sda #查看硬盘设备
 [aaa@qq.com_test ~]# dmesg | grep ttyS* #查看串口的相关信息
 [aaa@qq.com_test ~]# dmesg | grep -i memory #查看内存状况
 [aaa@qq.com_test ~]# dmesg | grep -i usb #查看usb接口
 [aaa@qq.com_test ~]# dmesg |egrep -i "(apm|acpi)" #探测系统内核模块,检测ACPI的加载情况

10、将开机信息发邮件

 [aaa@qq.com_test ~]# dmesg >boot.messages
 [aaa@qq.com_test ~]# mail -s "Boot Log of Linux Server" aaa@qq.com <boot.messages

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

 [aaa@qq.com_test ~]# dmesg -c

如果文章有任何错误欢迎不吝赐教,其次大家有任何关于运维的疑难杂问,也欢迎和大家一起交流讨论。关于运维学习、分享、交流,笔者开通了微信公众号【运维猫】,感兴趣的朋友可以关注下,欢迎加入,建立属于我们自己的小圈子,一起学运维知识。群主还经营一家猫小铺饰品店,喜欢的小伙伴欢迎????前来下单。

扫描二维码

获取更多精彩

运维猫公众号

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

有需要技术交流的小伙伴可以加我微信,期待与大家共同成长,本人微信:

扫描二维码

添加私人微信

运维猫博主

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

扫码加微信

最近有一些星友咨询我知识星球的事,我也想继续在星球上发布更优质的内容供大家学习和探讨。运维猫公众号平台致力于为大家提供免费的学习资源,知识星球主要致力于即将入坑或者已经入坑的运维行业的小伙伴。

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

Linux诊断机器故障工具—dmesg命令点击阅读原文  查看更多精彩内容!!!