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


19

Між Debian 5 і 6, запропоноване за замовчуванням значення kernel.printk у /etc/sysctl.confбуло змінено з kernel.printk = 4 4 1 7на kernel.printk = 3 4 1 3. Я розумію, що перше значення відповідає тому, що йде на консоль. Для чого наступні 3 значення?

Чи мають числові значення те саме значення, що й рівні журналу системного журналу? Або вони мають різні визначення?

Чи пропускаю я якусь документацію під час пошуку, або це єдине місце, де можна зрозуміти це джерело ядра.

Відповіді:


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" → Попередження, яке не означає нічого серйозного, але може означати проблеми попереднього попередження
  • "5" → Нічого серйозного, але все-таки помітно. Часто використовується для повідомлення про події безпеки. pr_notice
  • "6" → Інформаційне повідомлення, наприклад інформація про запуск при ініціалізації драйвера pr_info
  • "7" → повідомлення про налагодження pr_debug, pr_devel, якщо визначено DEBUG
  • KERN_DEFAULT "d" Ядро ядра за замовчуванням
  • KERN_CONT "" "продовження" рядок роздруківки журналу (зроблено лише після рядка, що не містить вкладених)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.