10.2. ログレベルおよびカーネルロギングにおける printk のロール

カーネルが報告する各メッセージには、メッセージの重要性を定義するログレベルが関連付けられています。カーネルリングバッファーは、カーネルリングバッファーとは で説明されているように、すべてのログレベルのカーネルメッセージを収集します。バッファーからコンソールに出力されるメッセージを定義するのは kernel.printk パラメーターです。

ログレベルの値は、以下の順序で分類されます。

0
カーネルの緊急事態。システムが利用できません。
1
カーネルアラート。すぐに対処する必要があります。
2
重大な問題があると見なされるカーネルの状態。
3
一般的なカーネルのエラー状態。
4
一般的なカーネルの警告状態。
5
正常だが重要な状態に関するカーネル通知。
6
カーネル情報メッセージ。
7
カーネルのデバッグレベルのメッセージ。

RHEL 9 の kernel.printk には、デフォルトで以下の 4 つの値が含まれます。

# sysctl kernel.printk
kernel.printk = 7	4	1	7

この 4 つの値は、順に以下を定義します。

  1. コンソールログレベル。コンソールに出力されるメッセージの最低優先度を定義します。
  2. 明示的なログレベルが付いていないメッセージのデフォルトのログレベル。
  3. コンソールのログレベルに、可能な限り低いログレベル設定を設定します。
  4. 起動時のコンソールのログレベルのデフォルト値を設定します。

    上記の各値は、エラーメッセージを処理するさまざまなルールを定義します。

重要

デフォルトの 7 4 1 7 printk 値を使用することで、カーネルアクティビティーのデバッグを改善できます。ただし、シリアルコンソールと組み合わせると、この printk 設定により激しい I/O バーストが発生し、RHEL システムが一時的に応答しなくなる可能性があります。通常 4 4 1 7printk 値を設定するとこのような状況を回避できますが、代わりに追加のデバッグ情報が失われてしまいます。

また、quietdebug などの特定のカーネルコマンドラインパラメーターにより、デフォルトの kernel.printk 値が変更される点に注意してください。

関連情報

  • syslog(2) の man ページ