了解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/zh-hk/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

發表回復

登錄後才能評論