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 つの値は、順に以下を定義します。
- コンソールログレベル。コンソールに出力されるメッセージの最低優先度を定義します。
- 明示的なログレベルが付いていないメッセージのデフォルトのログレベル。
- コンソールのログレベルに、可能な限り低いログレベル設定を設定します。
起動時のコンソールのログレベルのデフォルト値を設定します。
上記の各値は、エラーメッセージを処理するさまざまなルールを定義します。
デフォルトの 7 4 1 7
printk
値を使用することで、カーネルアクティビティーのデバッグを改善できます。ただし、シリアルコンソールと組み合わせると、この printk
設定により激しい I/O バーストが発生し、RHEL システムが一時的に応答しなくなる可能性があります。通常 4 4 1 7
に printk
値を設定するとこのような状況を回避できますが、代わりに追加のデバッグ情報が失われてしまいます。
また、quiet
、debug
などの特定のカーネルコマンドラインパラメーターにより、デフォルトの kernel.printk
値が変更される点に注意してください。
関連情報
-
syslog(2)
の man ページ