GNU/Linux >> Tutoriels Linux >  >> Linux

Comment empêcher les messages du noyau d'inonder ma console ?

Pour définir les valeurs lors de l'exécution, utilisez sysctl . (Je suppose qu'on peut écrire à /proc/sys/kernel/printk directement aussi et apparemment vous pouvez aussi utiliser dmesg -n CUR comme décrit ici)

Afficher :

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

Les séparateurs dans la sortie sont des onglets simples, btw.

Régler. Ici, les séparateurs ne sont que des espaces. Fonctionne également.

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

Voir man sysctl - "configurer les paramètres du noyau lors de l'exécution" pour en savoir plus.

Rappel des niveaux de gravité et des quatre valeurs de kernel.printk données par Brian ci-dessus :

  • CUR =niveau de gravité actuel ; seuls les messages plus importants que ce niveau sont imprimés
  • DEF =niveau de gravité par défaut attribué aux messages sans niveau
  • MIN =CUR minimum autorisé
  • BTDEF =CUR par défaut au démarrage

Sur mon 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            

C'est trop bruyant, je veux juste critiquer et monter (pas d'erreurs). Les messages sans étiquette doivent être considérés comme des avertissements, donc DEF est bon :

                     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            

Réglé sur :3 4 1 3


Je vous suggère de modifier votre /etc/sysctl.conf . Plus précisément, vous souhaitez modifier la ligne kernel.printk.

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

Je ne sais pas quels sont les paramètres par défaut des centos, mais il semble probable que les choses soient plus détaillées que nécessaire.

Voir également la section Shorewall sur l'exploitation forestière. Vous n'avez pas besoin d'utiliser la cible LOG pour la journalisation, vous pouvez utiliser d'autres outils, ou ajuster la gravité du journal, et ajuster les choses pour contrôler où vont vos messages.


J'ai trouvé cela utile aussi. Sur les distributions basées sur RHEL, vous pouvez cat /proc/sys/kernel/printk pour voir quels sont vos paramètres actuels.

Quatre valeurs se trouvent dans le fichier printk. Chacune de ces valeurs définit une règle différente pour traiter les messages d'erreur. La première valeur, appelée console loglevel, définit la priorité la plus basse des messages imprimés sur la console. (Notez que plus la priorité est faible, plus le numéro du niveau de journalisation est élevé.) La deuxième valeur définit le niveau de journalisation par défaut pour les messages sans niveau de journalisation explicite. La troisième valeur définit la configuration de niveau de journalisation la plus basse possible pour le niveau de journalisation de la console. La dernière valeur définit la valeur par défaut du niveau de journalisation de la console.

L'utilisation du paramètre LOGLEVEL dans /etc/sysconfig/init pour définir le niveau de journalisation de la console n'est plus prise en charge. Pour définir le niveau de journalisation de la console dans Red Hat Enterprise Linux 6, transmettez loglevel=' comme paramètre de temps de démarrage. Par exemple, loglevel=6 imprimera tous les messages inférieurs à 6 (pas égal à juste inférieur à).

Crédit à :

  • RHEL 6 - E.3.9. /proc/sys/
  • Linuxtopia - Niveaux de journalisation du noyau

Linux
  1. Comment accéder (si possible) à l'espace noyau depuis l'espace utilisateur ?

  2. Comment quitter vim -y dans la console ?

  3. Comment arrêter d'ajouter l'IP d'EC2 àknown_hosts pour ssh ?

  4. Comment empêcher un programme spécifique d'échanger?

  5. Comment puis-je réserver un bloc de mémoire à partir du noyau Linux ?

Comment construire le noyau Linux à partir de zéro {Guide étape par étape}

Comment installer le noyau 5.13 dans Ubuntu 18.04 à partir du référentiel 20.04

Comment construire le noyau Linux à partir de zéro

Comment arrêter et désactiver le service ClamAV à partir de CentOS ?

Comment compiler le noyau Linux à partir de la source pour créer un noyau personnalisé

Comment puis-je obtenir la longueur d'un fichier vidéo à partir de la console ?