了解Linux的系统日志:使用dmesg命令查看硬件和内核消息

一、dmesg命令简介

dmesg是一个Linux系统命令,用来查看内核和硬件的消息。它可以显示系统引导时的所有消息,以及在运行期间发生的任何硬件或内核更改的消息。这个命令可以帮助你查找系统出现问题的原因,或者是为了诊断硬件问题。

$ dmesg

它会输出大量信息,您可以使用管道和grep来过滤输出。

$ dmesg | grep usb
[    0.831358] usbcore: registered new interface driver usbfs
[    0.831366] usbcore: registered new interface driver hub
[    0.831380] usbcore: registered new device driver usb
[    1.105681] usb 1-1: new high-speed USB device number 2 using ehci-pci
[    1.673905] usb 2-1: new high-speed USB device number 2 using ehci-pci
[    1.759759] input: USB Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/0003:046D:C077.0001/input/input2

二、查看系统启动过程中的消息

dmesg命令可以用来查看系统启动过程中的消息。这些消息在内核初始化时输出,并且是重要的调试工具。您可以使用命令单独查看启动时的消息:

$ dmesg | grep -i "boot"
[    0.000000] microcode: microcode updated early to revision 0x1e, date = 2018-11-29
[    0.000000] Linux version 5.4.0-28-generic (buildd@lgw01-amd64-045) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)) #32-Ubuntu SMP Wed Apr 22 17:40:10 UTC 2020 (Ubuntu 5.4.0-28.32-generic 5.4.30)
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-5.4.0-28-generic root=UUID=81e8a3e5-010c-4d75-9c45-8d1ed97a01c6 ro quiet splash vt.handoff=7

三、查看硬件相关消息

dmesg命令也可以用来查看硬件相关的消息。例如,如果您想查看您的系统是否识别了某个USB设备,您可以使用以下命令:

$ dmesg | grep -i "usb"
[    0.831358] usbcore: registered new interface driver usbfs
[    0.831366] usbcore: registered new interface driver hub
[    0.831380] usbcore: registered new device driver usb
[    1.105681] usb 1-1: new high-speed USB device number 2 using ehci-pci
[    1.673905] usb 2-1: new high-speed USB device number 2 using ehci-pci
[    1.759759] input: USB Optical Mouse as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1:1.0/0003:046D:C077.0001/input/input2

四、查看内核相关消息

dmesg还可以用来查看与内核相关的消息。例如,您可以使用以下命令来查看内核模块的输出:

$ dmesg | grep -i "module"
[    0.000000] Linux version 5.4.0-28-generic (buildd@lgw01-amd64-045) (gcc version 9.3.0 (Ubuntu 9.3.0-10ubuntu2)) #32-Ubuntu SMP Wed Apr 22 17:40:10 UTC 2020 (Ubuntu 5.4.0-28.32-generic 5.4.30)
[    0.097157] ACPI: Added _OSI(Module Device)
[    6.667433] snd_hda_codec_hdmi hdaudioC1D0: No i915 binding for Intel HDMI/DP codec
[    7.336413] vboxdrv: module verification failed: signature and/or required key missing - tainting kernel
[    7.438341] tpm_tis 00:04: 1.2 TPM (device-id 0xB, rev-id 16)
[   13.363908] vboxpci: IOMMU not found (not registered)

五、查看内存相关消息

dmesg也可以用于查看有关内存的消息。例如,您可以使用以下命令来查看系统的内存配置:

$ dmesg | grep -i "memory"
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] e820: mapped low 64KB of RAM reserve for EL3/Secure world
[    0.000000] e820: [mem 0x0000000000001000-0x0000000000085fff] usable
[    0.000000] e820: [mem 0x0000000000086000-0x0000000000086fff] reserved
[    0.000000] e820: [mem 0x0000000000087000-0x000000000009dfff] usable
[    0.000000] e820: [mem 0x000000000009e000-0x000000000009ffff] reserved

总结

dmesg是一个非常有用的命令,可以帮助您查看系统内核和硬件相关信息。通过使用不同的选项和过滤器,您可以很容易地找到自己需要的信息。如果您是Linux系统管理员或运维人员,了解和掌握这个命令会让您在日常工作中更加高效。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/240391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-12 12:21
下一篇 2024-12-12 12:21

相关推荐

  • RabbitMQ和Yii2的消息队列应用

    本文将探讨RabbitMQ和Yii2之间的消息队列应用。从概念、安装和配置、使用实例等多个方面详细讲解,帮助读者了解和掌握RabbitMQ和Yii2的消息队列应用。 一、Rabbi…

    编程 2025-04-29
  • Python命令大全及说明

    Python是一种高级编程语言,由Guido van Rossum于1989年底发明。它具有良好的语法结构和面向对象的编程思想,具有简洁、易读、易学的特点,是初学者以及专业开发人员…

    编程 2025-04-29
  • Git config命令用法介绍:用正确的邮箱保障开发工作

    本文将详细介绍如何使用git config命令配置Git的全局和本地用户信息,特别是如何正确使用用户邮箱,保障Git操作的正常进行。 一、git config命令介绍 Git中的每…

    编程 2025-04-29
  • 内核驱动编译环境代价分析

    内核驱动编译环境是在Linux系统中编译内核模块的过程。本文通过分析内核驱动编译环境的各个方面,包括编译工具的选择、编译速度、编译器选项等,来探讨其代价所在,并提供一些优化的建议。…

    编程 2025-04-29
  • Python SSH 远程执行命令

    Python SSH 远程执行命令是指在一个服务器上执行远程另一个服务器上命令。如果你需要在本地机器上执行命令,或者在远程机器上执行本地命令,你都可以使用 SSH。在 Python…

    编程 2025-04-29
  • ROS线程发布消息异常解决方法

    针对ROS线程发布消息异常问题,我们可以从以下几个方面进行分析和解决。 一、检查ROS代码是否正确 首先,我们需要检查ROS代码是否正确。可能会出现的问题包括: 是否正确初始化RO…

    编程 2025-04-28
  • 剖析命令执行函数

    在编程开发过程中,命令执行函数是非常常见的一个概念。它是指接受一个命令字符串,并将其解析执行,返回相应的结果或错误信息的函数。本文将从多个方面对命令执行函数进行详细的阐述,包括其定…

    编程 2025-04-28
  • 使用Python发送微信消息给别人

    问题:如何使用Python发送微信消息给别人? 一、配置微信开发者平台 首先,要想发送微信消息,需要在微信开发者平台中进行配置,来获取对应的授权信息。具体步骤如下: 1、登录微信公…

    编程 2025-04-28
  • 如何使用Python执行Shell命令并获取执行过程信息

    本文将介绍如何使用Python执行Shell命令并获取执行过程信息。我们将从以下几个方面进行阐述: 一、执行Shell命令 Python内置的subprocess模块可以方便地执行…

    编程 2025-04-28
  • Python中获取用户输入命令的方法解析

    本文将从多个角度,分别介绍Python中获取用户输入命令的方法,希望能够对初学者有所帮助。 一、使用input()函数获取用户输入命令 input()是Python中用于获取用户输…

    编程 2025-04-27

发表回复

登录后才能评论