搜尋
首頁運維linux運維你真的會調試 Linux 核心故障嗎,看完這篇後你會茅塞頓開的!


Linux核心是作業系統的核心,它控制對系統資源(例如:CPU、I/O裝置、實體記憶體和檔案系統)的存取。在引導過程中以及系統運行時,核心會將各種訊息寫入核心環形緩衝區。這些訊息包括有關係統操作的各種資訊。

內核環形緩衝區是實體記憶體的一部分,用於保存內核的日誌訊息。它具有固定的大小,這意味著一旦緩衝區已滿,較舊的日誌記錄將被覆蓋。

dmesg命令列實用程式用於在Linux和其他類似Unix的作業系統中列印和控制核心環形緩衝區。對於檢查內核啟動訊息和調試與硬體相關的問題很有用。

在本教學中,我們將介紹dmesg指令的基礎。

使用dmesg 指令

dmesg指令的語法如下:

dmesg [OPTIONS]
在不带任何选项的情况下调用时,dmesg将所有消息从内核环形缓冲区写入标准输出:

$ dmesg

預設情況下,所有使用者都可以執行dmesg命令。但是,在某些系統上,非 root 使用者可能會限制對dmesg的存取。在這種情況下,呼叫 dmesg 時您將收到以下錯誤訊息:

dmesg: readkernel buffer failed: Operation not permitted

核心參數kernel.dmesg_restrict指定非特權使用者是否可以使用dmesg來檢視來自核心日誌緩衝區的消息。要刪除限制,請將其設為零:

$ sudo sysctl -w kernel.dmesg_restrict=0

通常,輸出包含許多資訊行,因此只能看到輸出的最後一部分。要一次查看一頁,請將輸出通過管道傳送到分頁實用程序,例如less或more:

#$ dmesg --color=always | less

其中的--color=always參數用於保留彩色輸出。

如果要過濾緩衝區訊息,可能使用grep。例如,若要僅查看與 USB 相關的訊息,請鍵入:

$ dmesg | grep -i usb

dmesg 从/proc/kmsg虚拟文件中读取内核生成的消息。该文件提供了到内核环形缓冲区的接口,并且只能由一个进程打开。如果系统上正在运行syslog进程,并且你尝试使用cat或less命令读取文件,则命令将挂起。

syslog守护程序将内核消息转储到/var/log/dmesg,因此你也可以使用该日志文件:

$ cat /var/log/dmesg

格式化 dmesg 输出。

dmesg命令提供了许多选项,可帮助你格式化和过滤输出。

dmesg中最常用的选项之一是-H(--human),它将输出更容易读的结果。

$ dmesg -H

要打印人类可读的时间戳,请使用-T(--ctime选项):

$ dmesg -T
[Mon Oct 14 14:38:04 2019] IPv6: ADDRCONF(NETDEV_CHANGE): wlp1s0: link becomes ready

时间戳格式也可以使用--time-format选项设置,可以是ctime,reltime,delta,notime或iso。例如:要使用增量格式,你可以输入:

$ dmesg --time-format=delta

你也可以組合兩個或多個選項:

$ dmesg -H -T

要即時觀看dmesg指令的輸出,請使用-w(--follow)選項:

$ dmesg --follow

過濾dmesg 輸出。

你可以將dmesg輸出限制為給定的設施和等級。 dmesg支援以下類型:

  • kern-核心訊息
  • user-使用者層級訊息
  • mail-郵件系統
  • daemon-系統守護程式
  • auth-安全性/授權訊息
  • syslog-內部syslogd 訊息
  • lpr-行式印表機子系統
  • news-網路新聞子系統
  • -f( --facility)選項可讓你將輸出限制為特定的設備,該選項接受一個或多個逗號分隔的功能。

例如,要只顯示核心和系統守護程式訊息,可以使用:

$ dmesg -f kern,daemon

每個日誌訊息都與一個顯示訊息重要性的日誌等級相關聯,dmesg支援以下日誌等級:

  • emerg-系統無法使用
  • alert-必須立即採取措施
  • crit-緊急情況
  • err-錯誤條件
  • warn-警告條件
  • notice-正常但重要的條件
  • info-資訊性
  • debug-偵錯級訊息

-l( --level <list>)</list>選項允許你將輸出限制為定義的級別,該選項接受一個或多個逗號分隔的級別。以下命令僅顯示錯誤和嚴重訊息:

$ dmesg -l err,crit

清除環形緩衝區

-C(--clear )選項可讓您清除環形緩衝區:

$ sudo dmesg -C

只有root或具有sudo特權的使用者才能清除緩衝區。

要在清除之前列印緩衝區內容,請使用-c(--read-clear)選項:

$ sudo dmesg -c

如果要在清除檔案之前將目前dmesg日誌儲存到檔案中,你可以將輸出重定向到檔案:

#$ dmesg > dmesg_messages

結論

dmesg指令允許你檢視和控制核心環形緩衝區。對核心或硬體問題進行故障排除時,它非常有用。

在終端機中輸入man dmesg,你可以取得所有可用dmesg選項的資訊。

以上是你真的會調試 Linux 核心故障嗎,看完這篇後你會茅塞頓開的!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:Linux中文社区。如有侵權,請聯絡admin@php.cn刪除
Linux中的維護模式:系統管理員指南Linux中的維護模式:系統管理員指南Apr 26, 2025 am 12:20 AM

維護模式在Linux系統管理中扮演關鍵角色,幫助進行系統修復、升級和配置變更。 1.進入維護模式可以通過GRUB菜單選擇或使用命令“sudosystemctlisolaterescue.target”。 2.在維護模式下,可以執行文件系統修復和系統更新等操作。 3.高級用法包括重置root密碼等任務。 4.常見錯誤如無法進入維護模式或掛載文件系統,可通過檢查GRUB配置和使用fsck命令修復。

Linux中的維護模式:何時以及為什麼使用它Linux中的維護模式:何時以及為什麼使用它Apr 25, 2025 am 12:15 AM

使用Linux維護模式的時機和原因:1)系統啟動問題時,2)進行重大系統更新或升級時,3)執行文件系統維護時。維護模式提供安全、控制的環境,確保操作的安全性和效率,減少對用戶的影響,並增強系統的安全性。

Linux:基本命令和操作Linux:基本命令和操作Apr 24, 2025 am 12:20 AM

Linux中不可或缺的命令包括:1.ls:列出目錄內容;2.cd:改變工作目錄;3.mkdir:創建新目錄;4.rm:刪除文件或目錄;5.cp:複製文件或目錄;6.mv:移動或重命名文件或目錄。這些命令通過與內核交互執行操作,幫助用戶高效管理文件和系統。

Linux操作:管理文件,目錄和權限Linux操作:管理文件,目錄和權限Apr 23, 2025 am 12:19 AM

在Linux中,文件和目錄管理使用ls、cd、mkdir、rm、cp、mv命令,權限管理使用chmod、chown、chgrp命令。 1.文件和目錄管理命令如ls-l列出詳細信息,mkdir-p遞歸創建目錄。 2.權限管理命令如chmod755file設置文件權限,chownuserfile改變文件所有者,chgrpgroupfile改變文件所屬組。這些命令基於文件系統結構和用戶、組系統,通過系統調用和元數據實現操作和控制。

Linux中的維護模式是什麼?解釋了Linux中的維護模式是什麼?解釋了Apr 22, 2025 am 12:06 AM

MaintenancemodeInuxisAspecialBootenvironmentforforcalsystemmaintenancetasks.itallowsadMinistratorStoperFormTaskSlikerSettingPassingPassingPasswords,RepairingFilesystems,andRecoveringFrombootFailuresFailuresFailuresInamInimAlenimalenimalenrenmentrent.ToEnterMainterMainterMaintErmaintErmaintEncemememodeBoode,Interlecttheboo

Linux:深入研究其基本部分Linux:深入研究其基本部分Apr 21, 2025 am 12:03 AM

Linux的核心組件包括內核、文件系統、Shell、用戶空間與內核空間、設備驅動程序以及性能優化和最佳實踐。 1)內核是系統的核心,管理硬件、內存和進程。 2)文件系統組織數據,支持多種類型如ext4、Btrfs和XFS。 3)Shell是用戶與系統交互的命令中心,支持腳本編寫。 4)用戶空間與內核空間分離,確保系統穩定性。 5)設備驅動程序連接硬件與操作系統。 6)性能優化包括調整系統配置和遵循最佳實踐。

Linux體系結構:揭示5個基本組件Linux體系結構:揭示5個基本組件Apr 20, 2025 am 12:04 AM

Linux系統的五個基本組件是:1.內核,2.系統庫,3.系統實用程序,4.圖形用戶界面,5.應用程序。內核管理硬件資源,系統庫提供預編譯函數,系統實用程序用於系統管理,GUI提供可視化交互,應用程序利用這些組件實現功能。

Linux操作:利用維護模式Linux操作:利用維護模式Apr 19, 2025 am 12:08 AM

Linux的維護模式可以通過GRUB菜單進入,具體步驟為:1)在GRUB菜單中選擇內核並按'e'編輯,2)在'linux'行末添加'single'或'1',3)按Ctrl X啟動。維護模式提供了一個安全環境,適用於系統修復、重置密碼和系統升級等任務。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。