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

2024-04-07 14:04

本文主要是介绍Linux诊断机器故障工具—dmesg命令,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在 Linux 系统中,经常会遇到各种各样的故障和问题,这些问题可能会导致系统性能下降、服务异常甚至系统崩溃。而 dmesg 命令是一个强大的工具,可以帮助我们诊断和解决这些故障。我们将介绍如何使用 dmesg 命令来分析和解决 Linux 系统中的常见故障,并提供一些实战案例。

1 简介​​​​​​

dmesg 是一个用于显示内核环缓冲区中的信息的命令,它可以帮助我们了解系统内核的运行情况,包括各种设备的状态、错误信息、警告等。通过分析 dmesg 输出的信息,我们可以及时发现系统中的问题,并采取相应的措施解决。

2 常见用法

2.1 查看系统启动信息

dmesg | less

这条命令会显示系统启动过程中的所有信息,可以使用 less 命令逐页浏览。

2.2 查看特定关键词信息

dmesg | grep wait

这条命令会过滤显示包含特定关键词的信息,例如硬件名称、错误代码等。

2.3 查看最新日志

dmesg | tail

这条命令会显示内核环缓冲区中最新的日志信息。

2.4 查看特定类型的信息

dmesg -l warn

 这条命令可以过滤显示特定类型的日志信息,例如错误信息、警告信息等。

使用了以下级别:

emerg: System is unusable.
alert: Action must be taken immediately.
crit: Critical conditions.
err: Error conditions.
warn: Warning conditions.
notice: Normal but significant condition.
info: Informational.
debug: Debug-level messages.

同时查看多个日志级别的日志

dmesg -l debug,warn
[   0.001179] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[   0.001180] e820: remove [mem 0x000a0000-0x000fffff] usable
[   0.001190] MTRR default type: uncachable
[   0.001190] MTRR fixed ranges enabled:
[   0.001191]   00000-9FFFF write-back
[   0.001192]   A0000-BFFFF uncachable
[   0.001193]   C0000-FFFFF write-protect
[   0.001193] MTRR variable ranges enabled:
[   0.001195]   0 base 000000000000 mask 3FC000000000 write-back
[   0.001196]   1 base 004000000000 mask 3FFF80000000 write-back
[   0.001197]   2 base 000080000000 mask 3FFF80000000 uncachable
[   0.001198]   3 base 000070000000 mask 3FFFFC000000 uncachable
[   0.001198]   4 disabled
[   0.001199]   5 disabled
[   0.001199]   6 disabled
[   0.001199]   7 disabled
[   0.001200]   8 disabled
[   0.001200]   9 disabled
[   0.003201] e820: update [mem 0x70000000-0x73ffffff] usable ==> reserved
[   0.003202] e820: update [mem 0x80000000-0xffffffff] usable ==> reserved
[   0.011388] ACPI: Local APIC address 0xfee00000

2.5 dmesg根据用户类别对日志进行了分组

kern: Kernel messages.user: User-level messages.mail: Mail system.daemon: System daemons.auth: Security/authorization messages.syslog: Internal syslogd messages.lpr: Line printer subsystem.news: Network news subsystem.

使用`-f(facility)'参数过滤组 

dmesg -f syslog
[   18.637800] systemd-journald[1060]: /etc/systemd/journald.conf:45: Unknown key name '^Compress' in section 'Journal', ignoring.
[   19.450094] systemd-journald[1060]: Received client request to flush runtime journal.
如果想把日志级别打印出来 ,可以加-x
dmesg -f syslog -x
syslog:warn : [   18.637800] systemd-journald[1060]: /etc/systemd/journald.conf:45: Unknown key name '^Compress' in section 'Journal', ignoring.
syslog:info : [   19.450094] systemd-journald[1060]: Received client request to flush runtime journal.

 2.6 其他常见参数

dmesg -L # color
dmesg -H # human timestamp
dmesg -T # readable timestamp
dmesg --follow # 持续观察输出

3. 实战案例

3.1 网络故障排查

如果系统出现网络故障,可以使用 dmesg 命令来检查网络设备是否正常工作,以及是否有相关错误信息。

dmesg | grep -i eth

3.2 磁盘故障排查

当系统出现磁盘故障时,可以使用 dmesg 命令来查看是否有关于磁盘的错误信息。

dmesg | grep -i disk

4. 注意事项

  • dmesg 命令输出的信息可能会很庞大,建议使用管道符(|)结合其他命令进行过滤和分析。

  • 在解决问题时,要根据具体情况分析,不要轻易采取行动,以免造成更严重的后果。

 

这篇关于Linux诊断机器故障工具—dmesg命令的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/882799

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Linux卸载自带jdk并安装新jdk版本的图文教程

《Linux卸载自带jdk并安装新jdk版本的图文教程》在Linux系统中,有时需要卸载预装的OpenJDK并安装特定版本的JDK,例如JDK1.8,所以本文给大家详细介绍了Linux卸载自带jdk并... 目录Ⅰ、卸载自带jdkⅡ、安装新版jdkⅠ、卸载自带jdk1、输入命令查看旧jdkrpm -qa

Linux samba共享慢的原因及解决方案

《Linuxsamba共享慢的原因及解决方案》:本文主要介绍Linuxsamba共享慢的原因及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux samba共享慢原因及解决问题表现原因解决办法总结Linandroidux samba共享慢原因及解决

新特性抢先看! Ubuntu 25.04 Beta 发布:Linux 6.14 内核

《新特性抢先看!Ubuntu25.04Beta发布:Linux6.14内核》Canonical公司近日发布了Ubuntu25.04Beta版,这一版本被赋予了一个活泼的代号——“Plu... Canonical 昨日(3 月 27 日)放出了 Beta 版 Ubuntu 25.04 系统镜像,代号“Pluc

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

Linux安装MySQL的教程

《Linux安装MySQL的教程》:本文主要介绍Linux安装MySQL的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux安装mysql1.Mysql官网2.我的存放路径3.解压mysql文件到当前目录4.重命名一下5.创建mysql用户组和用户并修