kernel.printk值的描述


19

在Debian 5和6之间,将kernel.printk in的默认建议值/etc/sysctl.conf从更改kernel.printk = 4 4 1 7kernel.printk = 3 4 1 3。我知道第一个值对应于控制台。接下来的3个值是什么?

数值是否与syslog日志级别具有相同的含义?还是它们有不同的定义?

我是不是在搜索中缺少一些文档,还是找到内核源代码的唯一位置。

Answers:


21

Sysctl设置记录在Documentation/sysctl/*.txt内核源代码树中。在Debian上,安装linux-doc以安装文档usr/share/doc/linux-doc-*/Documentation/(大多数发行版都有类似的软件包)。来自Documentation/sysctl/kernel.txt

四个值中printk分别表示:console_logleveldefault_message_loglevelminimum_console_logleveldefault_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字段似乎没有在任何地方使用。


1
这个Debian错误526855(这是更改的起源)似乎表明,在某些情况下,klogd在调用某些内核函数时可能会将console_loglevel重置为default_console_loglevel。
Zoredache

1
@Zoredache:嗯。那时确实如此,但是不再发生了。该设置仅在当前Debian稳定器附带的内核版本中停止使用,这说明了为什么安装脚本仍支持该设置。
吉尔(Gilles)'所以

4

kernel.printk值说明

  • “ 0”→紧急消息,系统即将崩溃或不稳定pr_emerg
  • “ 1”→发生了不好的情况,必须立即采取措施pr_alert
  • “ 2”→发生严重状况,例如严重的硬件/软件故障pr_crit
  • “ 3”→错误状态,驱动程序经常使用该状态来指示硬件pr_err的故障
  • “ 4”→警告,本身并不表示严重,但可能表示问题pr_warning
  • “ 5”→没什么大不了的,但是值得注意的是。通常用于报告安全事件。pr_notice
  • “ 6”→信息消息,例如驱动程序初始化时的启动信息pr_info
  • “ 7”→调试消息pr_debug,pr_devel(如果已定义DEBUG)
  • KERN_DEFAULT“ d”默认内核日志级别
  • KERN_CONT“”“继续”行的日志打印输出(仅在没有封闭行的行之后完成)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.