天天看點

【linux】dmesg指令顯示開機資訊和裝置加載情況

Linux指令dmesg用來顯示開機資訊,kernel會将開機資訊存儲在ring buffer中。您若是開機時來不及檢視資訊,可利用dmesg來檢視。開機資訊亦儲存在/var/log目錄中,名稱為dmesg的檔案裡

===============================================

參數:

-T

檢視結果 包含時間      
-c

清空dmesg的日志。該指令會清空dmesg環形緩沖區中的日志。但是你依然可以檢視存儲在‘/var/log/dmesg’檔案中的日志。      
-i

忽略大小寫      
-s<緩沖區大小>

預設定為8196,剛好等于ring buffer(循環緩沖區)的大小;      

使用示例:

1.列出加載到核心中的所有驅動,使用more或less展示

我們可以使用如‘more’。 ‘tail’, ‘less ’或者‘grep’文字處理工具來處理‘dmesg’指令的輸出。由于dmesg日志的輸出不适合在一頁中完全顯示,是以我們使用管道(pipe)将其輸出送到more或者less指令單頁顯示。

dmesg -T | more

使用Ctrl+C 退出      
dmesg -T | less

使用ctrl+Z 退出      
【linux】dmesg指令顯示開機資訊和裝置加載情況

2.列出所有被檢測到的硬體

dmesg -T | grep sda      

3.隻輸入dmesg的前20行

dmesg -T | head  -20      
【linux】dmesg指令顯示開機資訊和裝置加載情況

4.隻輸入dmesg的後20行

dmesg -T | tail -20      
【linux】dmesg指令顯示開機資訊和裝置加載情況

5.搜尋包含特定字元串的被檢測到的硬體

由于‘dmesg’指令的輸出實在太長了,在其中搜尋某個特定的字元串是非常困難的。是以,有必要過濾出一些包含‘usb’ ‘dma’ ‘tty’ ‘memory’等字元串的日志行。grep 指令 的‘-i’選項表示忽略大小寫。

dmesg -T | grep -i usb      
dmesg -T | grep -i dma      
dmesg -T | grep -i tty      
dmesg -T | grep -i memory      
【linux】dmesg指令顯示開機資訊和裝置加載情況

6.檢視 OOM

dmesg -T | grep 'Out of memory'      
【linux】dmesg指令顯示開機資訊和裝置加載情況

7.實時監控dmesg日志輸出

watch "dmesg -T | tail -20"

Ctrl+C 退出      
【linux】dmesg指令顯示開機資訊和裝置加載情況

8.清空dmesg緩沖區日志

dmesg -c