Opis wartości kernel.printk

19

Pomiędzy Debianem 5 a 6 domyślna sugerowana wartość pliku kernel.printk /etc/sysctl.confzostała zmieniona z kernel.printk = 4 4 1 7na kernel.printk = 3 4 1 3. Rozumiem, że pierwsza wartość odpowiada temu, co zmierza do konsoli. Jakie są kolejne 3 wartości?

Czy wartości liczbowe mają takie samo znaczenie jak poziomy dziennika syslog? A może mają różne definicje?

Czy brakuje mi dokumentacji podczas wyszukiwania, czy jest to jedyna lokalizacja, w której można dowiedzieć się o tym źródła jądra.

Zoredache
źródło

Odpowiedzi:

21

Ustawienia Sysctl są udokumentowane w Documentation/sysctl/*.txtdrzewie źródeł jądra. W Debianie zainstaluj, linux-docaby mieć dokumentację usr/share/doc/linux-doc-*/Documentation/(większość dystrybucji ma podobny pakiet). Od Documentation/sysctl/kernel.txt:

Cztery wartości w printkoznaczają: console_loglevel, default_message_loglevel, minimum_console_logleveli default_console_loglevel, odpowiednio.

Wartości te wpływają na printk()zachowanie podczas drukowania lub rejestrowania komunikatów o błędach. Zobacz man 2 syslogwięcej informacji na temat różnych loglevels.

  • console_loglevel: wiadomości o wyższym priorytecie niż ten zostaną wydrukowane na konsoli
  • default_message_loglevel: wiadomości bez wyraźnego priorytetu zostaną wydrukowane z tym priorytetem
  • minimum_console_loglevel: minimalna (najwyższa) wartość, na którą można ustawić console_loglevel
  • default_console_loglevel: wartość domyślna dla console_loglevel

Nie znajduję żadnego jasnego wyjaśnienia prozy tego, do czego default_console_loglevelsłuży. W źródłach jądra Linux , że kernel.printkzestawy sysctl console_printk. default_console_loglevelPole nie wydają się być używane w dowolnym miejscu.

Gilles „SO- przestań być zły”
źródło
1
Ten błąd Debiana 526855 , który jest początkiem zmiany, wydaje się sugerować, że istnieją pewne warunki, w których klogd może zresetować console_loglevel do default_console_loglevel, gdy wywołuje jakąś funkcję jądra.
Zoredache
1
@Zoredache: Ah. Tak było , ale już nie . Ustawienie przestało być używane tylko w wersji jądra dostarczanej przez bieżącą stajnię Debiana, co wyjaśnia, dlaczego skrypty instalacyjne nadal ją obsługują.
Gilles „SO- przestań być zły”
4

Opis kernel.printkwartości

  • „0” → Komunikaty alarmowe, system ma się zawiesić lub jest niestabilny pr_emerg
  • „1” → Coś złego się stało i należy natychmiast podjąć działanie
  • „2” → Wystąpił stan krytyczny, taki jak poważna awaria sprzętu / oprogramowania pr_crit
  • „3” → Stan błędu, często używany przez sterowniki w celu wskazania trudności ze sprzętem pr_err
  • „4” → Ostrzeżenie, które samo w sobie nie znaczy nic poważnego, ale może wskazywać na problemy z ostrzeżeniem
  • „5” → Nic poważnego, ale przede wszystkim. Często używany do zgłaszania zdarzeń związanych z bezpieczeństwem. pr_notice
  • „6” → Komunikat informacyjny, np. Informacje o starcie przy inicjalizacji sterownika pr_info
  • „7” → Komunikaty debugowania pr_debug, pr_devel, jeśli zdefiniowano DEBUG
  • KERN_DEFAULT "d" Domyślne jądro loglevel
  • KERN_CONT „” „ciągły” wiersz wydruku dziennika (wykonywany tylko po wierszu, który nie zawierał żadnych znaków)
użytkownik211079
źródło