由於Linux內核的級別控制,導致printk打印的內容不一定都能從控制台正常輸出,可以使用dmesg命令來輸出所有級別的信息。
輸入: sudo dmesg –n 8 可以把所有日志信息輸出來
Linux命令:dmesg 功能說明:顯示開機信息。
語 法:dmesg [-cn][-s <緩沖區大小>]
補充說明:kernel會將開機信息存儲在ring buffer中。您若是開機時來不及查看信息,可利用dmesg來查看。開機信息亦保存在/var/log目錄中,名稱為dmesg的文件裡。
參 數:
-c 顯示信息後,清除ring buffer中的內容。
-s<緩沖區大小> 預設置為8196,剛好等於ring buffer的大小。
-n 設置記錄信息的層級。
printk中的8種日志級別:
#define KERN_EMERG "<0>" /* system is unusable */
#define KERN_ALERT "<1>" /* action must be taken immediately */
#define KERN_CRIT "<2>" /* critical conditions */
#define KERN_ERR "<3>" /* error conditions */
#define KERN_WARNING "<4>" /* warning conditions */
#define KERN_NOTICE "<5>" /* normal but significant */
#define KERN_INFO "<6>" /* informational */
#define KERN_DEBUG "<7>" /* debug-level messages */
但是,上面所使用的辦法還不是最好的辦法, 因為在Ubuntu下,即使改變了日志級別,必須要切換到控制台下才能看到輸出的信息。
最好的辦法是打開另外的一個終端,用一個終端不停地監視並且打印輸出當前系統的日志信息:
1 在終端下輸入: