kernel.printk値の説明


19

Debian 5と6の間で、kernel.printkのデフォルトの推奨値は/etc/sysctl.confからに変更されkernel.printk = 4 4 1 7ましたkernel.printk = 3 4 1 3。最初の値はコンソールに送られるものに対応することを理解しています。次の3つの値は何ですか?

数値はsyslogログレベルと同じ意味を持ちますか?または、それらは異なる定義を持っていますか?

私は検索でいくつかのドキュメントを見逃していますか、これがカーネルソースを把握する唯一の場所です。

回答:


21

Sysctl設定はDocumentation/sysctl/*.txt、カーネルソースツリーに記載されています。Debianではlinux-doc、ドキュメントが含まれるようにインストールしますusr/share/doc/linux-doc-*/Documentation/(ほとんどのディストリビューションには同様のパッケージがあります)。からDocumentation/sysctl/kernel.txt

4つの値をprintk表す:console_logleveldefault_message_loglevelminimum_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_printkdefault_console_loglevelフィールドはどこでも使用されていないようです。


1
このDebianバグ526855は、変更の原因であり、カーネル関数を呼び出すときにklogdがconsole_loglevelをdefault_console_loglevelにリセットする条件があることを示唆しているようです。
ゾレダチェ

1
@Zoredache:ああ。当時はそうでした、もはやありませんでした。この設定は、現在のDebian安定版に同梱されているカーネルバージョンでしか使用されないため、セットアップスクリプトがまだサポートしている理由を説明しています。
ジル 'SO-悪であるのをやめる'

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、DEBUGが定義されている場合はpr_devel
  • KERN_DEFAULT "d"デフォルトのカーネルログレベル
  • ログ出力のKERN_CONT "" "継続"行(囲んでいない行の後にのみ実行)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.