Linux

kernel.printk 值說明

  • February 4, 2021

在 Debian 5 和 6 之間,kernel.printk 的預設建議值已從/etc/sysctl.conf更改kernel.printk = 4 4 1 7kernel.printk = 3 4 1 3。我知道第一個值對應於控制台的內容。接下來的 3 個值是什麼?

數值是否與 syslog 日誌級別具有相同的含義?還是他們有不同的定義?

我是否在搜尋中遺漏了一些文件,或者是找出核心原始碼的唯一位置。

Sysctl 設置記錄在Documentation/sysctl/*.txt核心原始碼樹中。在 Debian 上,安裝linux-doc以包含文件usr/share/doc/linux-doc-*/Documentation/(大多數發行版都有類似的軟體包)。來自Documentation/sysctl/kernel.txt

中的 四個值printk分別表示:console_loglevel、、 default_message_loglevel和。minimum_console_loglevel``default_console_loglevel

這些值會影響printk()列印或記錄錯誤消息時的行為。有關man 2 syslog不同日誌級別的更多資訊,請參閱。

  • console_loglevel: 優先級高於此的消息將列印到控制台
  • default_message_loglevel: 沒有明確優先級的消息將使用此優先級列印
  • minimum_console_loglevel:console_loglevel 可以設置的最小(最高)值
  • default_console_loglevel:預設值console_loglevel

我沒有找到任何關於default_console_loglevel用途的明確散文解釋。在Linux 核心原始碼中,kernel.printksysctl 設置console_printk。該default_console_loglevel欄位似乎沒有在任何地方使用。

引用自:https://unix.stackexchange.com/questions/13019