GNU/Linux >> Linux の 問題 >  >> Linux

カーネル メッセージがコンソールにあふれないようにするにはどうすればよいですか?

実行時に値を設定するには、 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 - カーネル ログ レベル

Linux
  1. 20.04リポジトリからUbuntu18.04にカーネル5.13をインストールする方法

  2. ログイン時にOrcaが起動しないようにするにはどうすればよいですか?

  3. CentOSからClamAVサービスを停止して無効にする方法は?

  1. CコードからLinuxカーネルモジュールをロードする方法は?

  2. コンソールで vim -y を終了するには?

  3. nginx がポート 80 を使用しないようにする方法

  1. EC2 から ssh の known_hosts への IP の追加を停止するには?

  2. 特定のプログラムのスワッピングを防ぐ方法は?

  3. systemd ジャーナルへのカーネル ログを無効にするにはどうすればよいですか?