GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie kann ich verhindern, dass Kernel-Nachrichten meine Konsole überfluten?

Um die Werte zur Laufzeit festzulegen, verwenden Sie sysctl . (Ich nehme an, man kann in /proc/sys/kernel/printk schreiben auch direkt und anscheinend kann man auch dmesg -n CUR verwenden wie hier beschrieben)

Anzeige:

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

Die Trennzeichen in der Ausgabe sind übrigens einzelne Tabulatoren.

Satz. Hier sind die Trennzeichen nur Leerzeichen. Funktioniert auch.

# sysctl -w kernel.printk="2 4 1 7"
kernel.printk = 2 4 1 7
# sysctl kernel.printk
kernel.printk = 2       4       1       7

Siehe man sysctl - "Kernelparameter zur Laufzeit konfigurieren" für mehr.

Erinnerung an die Schweregrade und die vier Werte von kernel.printk, die oben von Brian angegeben wurden:

  • CUR =aktueller Schweregrad; nur Meldungen, die wichtiger als diese Ebene sind, werden gedruckt
  • DEF =Standard-Schweregrad, der Nachrichten ohne Level zugewiesen wird
  • MIN =minimal zulässiger CUR
  • BTDEF =Standard-CUR beim Booten

Auf meinem 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            

Das ist zu laut, ich will nur kritisch und hoch (keine Fehler). Nachrichten ohne Label sollten als Warnung betrachtet werden, also ist DEF gut:

                     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            

Eingestellt auf:3 4 1 3


Ich schlage vor, Sie ändern Ihren /etc/sysctl.conf . Insbesondere möchten Sie die Zeile kernel.printk anpassen.

# Uncomment the following to stop low-level messages on console
kernel.printk = 3 4 1 3

Ich bin mir nicht sicher, was die Centos-Standardeinstellungen sind, aber ich scheine wahrscheinlich, dass die Dinge ausführlicher eingestellt sind, als Sie brauchen.

Siehe auch den Shorewall-Abschnitt über Protokollierung. Sie müssen das LOG-Ziel nicht für die Protokollierung verwenden, Sie können andere Tools verwenden oder den Schweregrad des Protokolls anpassen und Dinge optimieren, um zu steuern, wohin Ihre Nachrichten gehen.


Das fand ich auch hilfreich. Auf RHEL-basierten Distributionen können Sie cat /proc/sys/kernel/printk um Ihre aktuellen Einstellungen zu sehen.

In der printk-Datei werden vier Werte gefunden. Jeder dieser Werte definiert eine andere Regel für den Umgang mit Fehlermeldungen. Der erste Wert, der als Konsolen-Loglevel bezeichnet wird, definiert die niedrigste Priorität von Meldungen, die an die Konsole ausgegeben werden. (Beachten Sie, dass die Loglevel-Nummer umso höher ist, je niedriger die Priorität ist.) Der zweite Wert legt das Standard-Loglevel für Nachrichten fest, denen kein explizites Loglevel angehängt ist. Der dritte Wert legt die niedrigstmögliche Loglevel-Konfiguration für das Console-Loglevel fest. Der letzte Wert setzt den Standardwert für den Loglevel der Konsole.

Die Verwendung des LOGLEVEL-Parameters in /etc/sysconfig/init zum Festlegen des Konsolen-Loglevels wird nicht mehr unterstützt. Um den Loglevel der Konsole in Red Hat Enterprise Linux 6 festzulegen, übergeben Sie loglevel=' als Parameter für die Bootzeit. Beispielsweise gibt loglevel=6 alle Nachrichten kleiner als 6 aus (nicht gleich kleiner als).

Gutschrift an:

  • RHEL 6 – E.3.9. /proc/sys/
  • Linuxtopia - Kernel-Protokollebenen

Linux
  1. So installieren Sie Kernel 5.13 in Ubuntu 18.04 aus dem 20.04-Repository

  2. So verhindern Sie, dass die Windows10-VM auf OpenStack automatisch neu gestartet wird!

  3. Wie stoppe und deaktiviere ich den ClamAV-Dienst von CentOS?

  4. Wie kann man verhindern, dass sed puffert?

  5. Wie lade ich Linux-Kernel-Module aus C-Code?

So erstellen Sie einen Linux-Kernel von Grund auf neu {Schritt-für-Schritt-Anleitung}

So erstellen Sie einen Linux-Kernel von Grund auf neu

So kompilieren Sie den Linux-Kernel aus der Quelle, um einen benutzerdefinierten Kernel zu erstellen

Wie kann ich die Länge einer Videodatei von der Konsole abrufen?

Wie deaktiviere ich die Kernel-Anmeldung im systemd-Journal?

Wie kann ich verhindern, dass sich die MAC-Adresse nach dem Trennen ändert?