kernel.printk 值说明

Zor*_*che 21 linux logs kernel sysctl

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

数值是否与系统日志日志级别具有相同的含义?或者他们有不同的定义?

我是否在搜索中遗漏了一些文档,或者是找出内核源代码的唯一位置。

Gil*_*il' 26

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字段似乎没有在任何地方使用。


小智 7

kernel.printk值说明

  • “0”?紧急消息,系统即将崩溃或不稳定 pr_emerg
  • “1”?发生了不好的事情,必须立即采取行动 pr_alert
  • “2”?发生了严重的硬件/软件故障等严重情况 pr_crit
  • “3”?错误条件,驱动程序经常使用它来指示硬件 pr_err 的困难
  • “4”?警告,本身并不严重,但可能表明存在问题 pr_warning
  • “5”?没什么严重的,但值得注意的是。通常用于报告安全事件。公关通知
  • “6”?信息性消息,例如驱动程序初始化时的启动信息 pr_info
  • “7”?调试消息 pr_debug, pr_devel 如果定义了 DEBUG
  • KERN_DEFAULT "d" 默认内核日志级别
  • KERN_CONT "" "continued" 日志打印输出行(仅在没有封闭的行之后完成)