2013-05-05 132 views
14

我設置了CentOS 6.3安裝程序,其中控制檯日誌級別設置爲4,默認日誌級別設置爲4.我知道可以使用以下步驟更改默認控制檯日誌級別:啓動期間更改默認控制檯日誌級別

cat /proc/sys/kernel/printk 

4 4 1 7 

echo 5 > /proc/sys/kernel/printk 
cat /proc/sys/kernel/printk 

5 4 1 7 

但是,重新啓動後,控制檯日誌級別將恢復爲原始值。我是否需要重新編譯內核,或者是否有辦法讓更改後的值在重新啓動時保持不變。

回答

28

我需要重新編譯內核,

還是有辦法可以改變的值必須跨越重啓後持續存在。

是的。
使用內核命令行參數loglevel

loglevel=  All Kernel Messages with a loglevel smaller than the 
        console loglevel will be printed to the console. It can 
        also be changed with klogd or other programs. The 
        loglevels are defined as follows: 

        0 (KERN_EMERG)   system is unusable 
        1 (KERN_ALERT)   action must be taken immediately 
        2 (KERN_CRIT)   critical conditions 
        3 (KERN_ERR)   error conditions 
        4 (KERN_WARNING)  warning conditions 
        5 (KERN_NOTICE)   normal but significant condition 
        6 (KERN_INFO)   informational 
        7 (KERN_DEBUG)   debug-level messages 

的內核命令行參數可能整個列表都在Linux/Documentation/kernel-parameters.txt文件中的源代碼樹。

根據您的引導加載程序(例如Grub或U-Boot),您將不得不編輯文本以將此新參數添加到命令行。使用cat /proc/cmdline查看用於上一次引導的內核命令行。


補遺

要顯示的一切,對於日誌級別參數提供將具有被比KERN_DEBUG更大的數量。
也就是說,你將不得不指定loglevel=8
或者只需使用ignore_loglevel參數來顯示所有內核消息。

+4

這很晚,但您也可以在運行時使用Alt-SysRq-0等。 – 2014-05-05 09:01:41

+0

更新文檔鏈接:https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters。文本 – Lucas 2017-07-07 17:16:26