1、簡介
dmesg 命令主要用來顯示內(nèi)核信息。使用 dmesg 可以有效診斷機器硬件故障或者添加硬件出現(xiàn)的問題。另外,使用 dmesg 可以確定您的服務器安裝了哪些硬件。每次系統(tǒng)重啟,系統(tǒng)都會檢查所有硬件并將信息記錄下來。執(zhí)行/bin/dmesg 命令可以查看該記錄,開機信息亦保存在/var/log目錄中,名稱為dmesg的文件里。
2、dmesg命令常用格式
[root@RedHat_test ~]# dmesg [-cn][-s <緩沖區(qū)大小>]
-c: 當完成打印顯示后清除環(huán)緩沖內(nèi)的內(nèi)容。
-s: 緩沖區(qū)大小。定義一個大小為"緩沖區(qū)大小"的緩沖區(qū)用于查詢內(nèi)核環(huán)緩沖區(qū)。默認大小為8196(此大小與2.0.33 和2.1.103 內(nèi)核的默認syslog 緩沖區(qū)大小一致),如果你設置了一個大于默認值的環(huán)緩沖區(qū),那你就可以用這個選項定義一個相當?shù)木彌_區(qū)來查看完整的環(huán)緩沖區(qū)內(nèi)容。
-n: 級別。設置級別為記錄控制臺啟動信息的級別。比如,-n?1指的就是將此級別設為最低級,除了內(nèi)核恐慌信息之外不會向控制臺顯示信息。所有級別的啟動信息還將記錄到/proc/kmsg,文件中,因此,syslogd(8)同樣可以用來對信息的輸出進行控制。當使用-n選項時,dmesg將不會 清除內(nèi)核環(huán)緩沖區(qū)中的內(nèi)容。當同時使用以上兩個選項時,只有最后一個選項才會產(chǎn)生效果。
3、將系統(tǒng)啟動信息保存到文件中
[root@RedHat_test ~]# dmesg > messages.txt
4、單頁輸出
[root@RedHat_test ~]# dmesg | more
[root@RedHat_test ~]# dmesg | less
5、以可讀性較好的形式輸出信息
[root@RedHat_test ~]# dmesg -H
6、設置記錄信息的層級
[root@RedHat_test ~]# dmesg -n 3
7、打印輸出內(nèi)存
[root@RedHat_test ~]# dmesg | tail -f #打印輸出最近一次的信息
[root@RedHat_test ~]# dmesg | head -20 #打印輸出前20行的信息
[root@RedHat_test ~]# dmesg | tail -20 #打印輸出最后20行日志
8、實時監(jiān)控dmesg日志的輸出信息
[root@RedHat_test ~]# watch "dmesg | tail -20"
9、搜索包含特定字符串的被檢測到的硬件
[root@RedHat_test ~]# dmesg | grep DMA #查看硬盤的運行模式
[root@RedHat_test ~]# dmesg | grep eth #查看以太網(wǎng)的連接信息
[root@RedHat_test ~]# dmesg | grep sda #查看硬盤設備
[root@RedHat_test ~]# dmesg | grep ttyS* #查看串口的相關信息
[root@RedHat_test ~]# dmesg | grep -i memory #查看內(nèi)存狀況
[root@RedHat_test ~]# dmesg | grep -i usb #查看usb接口
[root@RedHat_test ~]# dmesg |egrep -i "(apm|acpi)" #探測系統(tǒng)內(nèi)核模塊,檢測ACPI的加載情況
10、將開機信息發(fā)郵件
[root@RedHat_test ~]# dmesg >boot.messages
[root@RedHat_test ~]# mail -s "Boot Log of Linux Server" public@web3q.net <boot.messages
11、打印并清除內(nèi)核環(huán)形緩沖區(qū)
[root@RedHat_test ~]# dmesg -c
關于運維學習、分享、交流,筆者開通了微信公眾號【運維貓】,感興趣的朋友可以關注下,歡迎加入,建立屬于我們自己的小圈子,一起學運維知識。