実行時に値を設定するには、 sysctl
を使用します . (/proc/sys/kernel/printk
に書き込むことができると思います 直接的にも、どうやら dmesg -n CUR
も使用できるようです ここで説明されているように)
表示:
# sysctl kernel.printk
kernel.printk = 2 4 1 7
出力のセパレーターは単一のタブです。
設定。ここでは、セパレータは単なるスペースです。同様に機能します。
# sysctl -w kernel.printk="2 4 1 7"
kernel.printk = 2 4 1 7
# sysctl kernel.printk
kernel.printk = 2 4 1 7
man sysctl
を参照 - 詳細については、「実行時にカーネル パラメータを構成する」を参照してください。
重大度レベルと、上記の Brian によって与えられた kernel.printk の 4 つの値のリマインダー:
- CUR =現在の重大度レベル。このレベルよりも重要なメッセージのみが出力されます
- DEF =レベルのないメッセージに割り当てられるデフォルトの重大度
- MIN =最小許容 CUR
- BTDEF =起動時のデフォルト CUR
CentOS の場合:7 4 1 7
CUR DEF MIN BTDEF
0 - emergency x x
1 - alert x x x
2 - critical x x
3 - error x x
4 - warning x x x
5 - notice x x
6 - informational V V
7 - debug
これはノイズが多すぎます。クリティカルとアップが必要です (エラーなし)。ラベルのないメッセージは警告と見なされるべきなので、DEF が適切です:
CUR DEF MIN BTDEF
0 - emergency x x
1 - alert x x x
2 - critical x x
3 - error V V
4 - warning x
5 - notice
6 - informational
7 - debug
設定:3 4 1 3
/etc/sysctl.conf
を変更することをお勧めします .具体的には、kernel.printk 行を微調整します。
# Uncomment the following to stop low-level messages on console
kernel.printk = 3 4 1 3
centos のデフォルト設定がどのようなものかはわかりませんが、必要以上に詳細に設定されているようです。
伐採に関するショアウォールのセクションも参照してください。ロギングに LOG ターゲットを使用する必要はありません。他のツールを使用したり、ログの重大度を調整したり、微調整してメッセージの送信先を制御したりできます。
これも役に立ちました。 RHEL ベースのディストリビューションでは、cat /proc/sys/kernel/printk
を実行できます 現在の設定を確認してください。
printk ファイルには 4 つの値があります。これらの値はそれぞれ、エラー メッセージを処理するための異なるルールを定義します。コンソール ログレベルと呼ばれる最初の値は、コンソールに出力されるメッセージの最低優先度を定義します。 (優先度が低いほど、ログレベル番号が高くなることに注意してください。) 2 番目の値は、明示的なログレベルが添付されていないメッセージのデフォルトのログレベルを設定します。 3 番目の値は、コンソール ログレベルの可能な限り低いログレベル構成を設定します。最後の値は、コンソール ログレベルのデフォルト値を設定します。
/etc/sysconfig/init で LOGLEVEL パラメーターを使用してコンソール ログレベルを設定することは、サポートされなくなりました。 Red Hat Enterprise Linux 6 でコンソールのログレベルを設定するには、起動時のパラメーターとして loglevel=' を渡します。たとえば、loglevel=6 は 6 未満のすべてのメッセージを出力します (単に未満ではありません)。
クレジット:
- RHEL 6 - E.3.9。 /proc/sys/
- Linuxtopia - カーネル ログ レベル