Описание значений kernel.printk

19

Между Debian 5 и 6 рекомендуемое значение по умолчанию для kernel.printk in /etc/sysctl.confбыло изменено с kernel.printk = 4 4 1 7на kernel.printk = 3 4 1 3. Я понимаю, что первое значение соответствует тому, что собирается на консоли. Каковы следующие 3 значения для?

Имеют ли числовые значения то же значение, что и уровни журнала системного журнала? Или у них разные определения?

Я пропускаю некоторую документацию в моем поиске, или это единственное место, чтобы выяснить это источник ядра.

Zoredache
источник

Ответы:

21

Настройки 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Поле , кажется, не будет использоваться в любом месте.

Жиль "ТАК - прекрати быть злым"
источник
1
Эта ошибка Debian 526855 , которая является источником изменений, по-видимому, предполагает, что есть некоторые условия, когда klogd может сбросить console_loglevel в default_console_loglevel, когда он вызывает какую-то функцию ядра.
Зоредаче
1
@Zoredache: Ах. Это было тогда , но не больше . Параметр перестал использоваться только в самой версии ядра, поставляемой текущей стабильной версией Debian, что объясняет, почему сценарии установки все еще поддерживают его.
Жиль "ТАК - перестань быть злым"
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 "" "продолжение" строка распечатки журнала (выполняется только после строки, которая не имеет вложений)
user211079
источник