Description des valeurs kernel.printk


19

Entre Debian 5 et 6, la valeur par défaut suggérée pour kernel.printk dans a /etc/sysctl.confété changée de kernel.printk = 4 4 1 7à kernel.printk = 3 4 1 3. Je comprends que la première valeur correspond à ce qui va à la console. Quelles sont les 3 prochaines valeurs?

Les valeurs numériques ont-elles la même signification que les niveaux du journal syslog? Ou ont-ils des définitions différentes?

Suis-je manquant de documentation dans ma recherche, ou est le seul emplacement pour comprendre cela la source du noyau.

Réponses:


21

Les paramètres Sysctl sont documentés Documentation/sysctl/*.txtdans l'arborescence des sources du noyau. Sur Debian, installez linux-docpour avoir la documentation usr/share/doc/linux-doc-*/Documentation/(la plupart des distributions ont un paquet similaire). De Documentation/sysctl/kernel.txt:

Les quatre valeurs dans printkdésignent: console_loglevel, default_message_loglevel, minimum_console_loglevelet default_console_loglevelrespectivement.

Ces valeurs influencent le printk()comportement lors de l'impression ou de la journalisation des messages d'erreur. Voir man 2 syslogpour plus d'informations sur les différents niveaux de journalisation.

  • console_loglevel: les messages avec une priorité plus élevée que celle-ci seront imprimés sur la console
  • default_message_loglevel: les messages sans priorité explicite seront imprimés avec cette priorité
  • minimum_console_loglevel: valeur minimale (la plus élevée) à laquelle console_loglevel peut être définie
  • default_console_loglevel: valeur par défaut pour console_loglevel

Je ne trouve aucune explication en prose claire de ce qui default_console_loglevelest utilisé. Dans la source du noyau Linux , le kernel.printksysctl définit console_printk. Le default_console_loglevelchamp ne semble être utilisé nulle part.


1
Ce bogue Debian 526855 , qui est à l'origine du changement, semblait suggérer qu'il existe certaines conditions dans lesquelles klogd peut réinitialiser console_loglevel à default_console_loglevel lorsqu'il appelle une fonction du noyau.
Zoredache

1
@Zoredache: Ah. C'était le cas à l'époque , mais plus . Le paramètre a seulement cessé d'être utilisé dans la version très noyau livrée par l'écurie Debian actuelle, ce qui explique pourquoi les scripts de configuration le supportent toujours.
Gilles 'SO- arrête d'être méchant'

4

Description des kernel.printkvaleurs

  • "0" → Messages d'urgence, le système est sur le point de planter ou est instable pr_emerg
  • "1" → Quelque chose de grave s'est produit et une action doit être prise immédiatement pr_alert
  • "2" → Une condition critique s'est produite comme une grave panne matérielle / logicielle pr_crit
  • "3" → Une condition d'erreur, souvent utilisée par les pilotes pour indiquer des difficultés avec le matériel pr_err
  • "4" → Un avertissement, qui ne signifie rien de grave en soi mais pourrait indiquer des problèmes pr_warning
  • "5" → Rien de grave, mais notamment quand même. Souvent utilisé pour signaler des événements de sécurité. pr_notice
  • "6" → Message d'information, par exemple informations de démarrage lors de l'initialisation du pilote pr_info
  • "7" → Messages de débogage pr_debug, pr_devel si DEBUG est défini
  • KERN_DEFAULT "d" Le niveau de journalisation du noyau par défaut
  • KERN_CONT "" "suite" ligne d'impression du journal (uniquement effectuée après une ligne sans encadrement)
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.