Descripción de los valores de kernel.printk


19

Entre Debian 5 y 6, el valor sugerido predeterminado para kernel.printk en /etc/sysctl.confse cambió de kernel.printk = 4 4 1 7a kernel.printk = 3 4 1 3. Entiendo que el primer valor corresponde a lo que va a la consola. ¿Para qué son los siguientes 3 valores?

¿Los valores numéricos tienen el mismo significado que los niveles de registro de syslog? ¿O tienen diferentes definiciones?

Me falta algo de documentación en mi búsqueda, o es la única ubicación para resolver esto la fuente del núcleo.

Respuestas:


21

La configuración de Sysctl está documentada Documentation/sysctl/*.txten el árbol de fuentes del núcleo. En Debian, instale linux-docpara tener la documentación usr/share/doc/linux-doc-*/Documentation/(la mayoría de las distribuciones tienen un paquete similar). De Documentation/sysctl/kernel.txt:

Los cuatro valores en printkSignifican: console_loglevel, default_message_loglevel, minimum_console_loglevely default_console_loglevelrespectivamente.

Estos valores influyen en el printk()comportamiento al imprimir o registrar mensajes de error. Consulte man 2 syslogpara obtener más información sobre los diferentes niveles de registro.

  • console_loglevel: los mensajes con una prioridad superior a esta se imprimirán en la consola
  • default_message_loglevel: los mensajes sin una prioridad explícita se imprimirán con esta prioridad
  • minimum_console_loglevel: valor mínimo (más alto) en el que se puede establecer console_loglevel
  • default_console_loglevel: valor predeterminado para console_loglevel

No encuentro ninguna explicación en prosa clara de para qué default_console_loglevelse utiliza. En la fuente del kernel de Linux , se kernel.printkestablece sysctl console_printk. El default_console_loglevelcampo no parece ser usado en ningún lado.


1
Este error de Debian 526855 , que es el origen del cambio, parece sugerir que hay algunas condiciones en las que klogd puede restablecer console_loglevel a default_console_loglevel cuando llama a alguna función del núcleo.
— Zoredache

1
@ Zoredache: Ah. Lo hizo en aquel entonces , pero ya no . La configuración solo dejó de usarse en la versión del kernel incluida en el actual establo de Debian, lo que explica por qué los scripts de configuración aún lo admiten.
— Gilles 'SO- deja de ser malvado'

4

Descripción de kernel.printkvalores

  • "0" → Mensajes de emergencia, el sistema está a punto de bloquearse o es inestable pr_emerg
  • "1" → Algo malo sucedió y se deben tomar medidas inmediatamente antes_alert
  • "2" → Se produjo una condición crítica como una falla grave de hardware / software pr_crit
  • "3" → Una condición de error, a menudo utilizada por los controladores para indicar dificultades con el hardware pr_err
  • "4" → Una advertencia, que no significa nada serio en sí mismo, pero puede indicar problemas de advertencia
  • "5" → Nada serio, pero notablemente de todos modos. A menudo se usa para informar eventos de seguridad. aviso_pr
  • "6" → Mensaje informativo, por ejemplo, información de inicio en la inicialización del controlador pr_info
  • "7" → Mensajes de depuración pr_debug, pr_devel si se define DEBUG
  • KERN_DEFAULT "d" El nivel de registro predeterminado del kernel
  • KERN_CONT "" "continuación" línea de impresión de registro (solo se realiza después de una línea que no tenía encerrado)
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.