GNU/Linux >> Tutoriales Linux >  >> Linux

¿Cómo evitar que los mensajes del kernel inunden mi consola?

Para establecer los valores en tiempo de ejecución, use sysctl . (Supongo que uno puede escribir a /proc/sys/kernel/printk directamente también y aparentemente también puedes usar dmesg -n CUR como se describe aquí)

Pantalla:

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

Los separadores en la salida son pestañas individuales, por cierto.

Establecer. Aquí los separadores son solo espacios. Funciona también.

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

Ver man sysctl - "configurar los parámetros del kernel en tiempo de ejecución" para más.

Recordatorio de los niveles de gravedad y los cuatro valores de kernel.printk dados por Brian arriba:

  • CUR =nivel de gravedad actual; solo se imprimen los mensajes más importantes que este nivel
  • DEF =nivel de gravedad predeterminado asignado a mensajes sin nivel
  • MIN =CUR mínimo permitido
  • BTDEF =CUR predeterminado en el momento del arranque

En mi 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            

Esto es demasiado ruidoso, solo quiero crítico y arriba (sin errores). Los mensajes sin etiqueta deben considerarse una advertencia, por lo que DEF es bueno:

                     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            

Establecer en:3 4 1 3


Te sugiero que modifiques tu /etc/sysctl.conf . Específicamente, desea modificar la línea kernel.printk.

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

No estoy seguro de cuáles son las configuraciones predeterminadas de centos, pero parece probable que las cosas estén más detalladas de lo que necesita.

Consulte también la sección del litoral sobre explotación forestal. No tiene que usar el destino LOG para iniciar sesión, puede usar otras herramientas o ajustar la gravedad del registro y modificar las cosas para controlar a dónde van sus mensajes.


Encontré esto útil también. En las distribuciones basadas en RHEL, puede cat /proc/sys/kernel/printk para ver cuál es su configuración actual.

Se encuentran cuatro valores en el archivo printk. Cada uno de estos valores define una regla diferente para tratar los mensajes de error. El primer valor, denominado nivel de registro de la consola, define la prioridad más baja de los mensajes impresos en la consola. (Tenga en cuenta que cuanto menor sea la prioridad, mayor será el número de nivel de registro). El segundo valor establece el nivel de registro predeterminado para los mensajes sin un nivel de registro explícito adjunto. El tercer valor establece la configuración de nivel de registro más baja posible para el nivel de registro de la consola. El último valor establece el valor predeterminado para el nivel de registro de la consola.

Ya no se admite el uso del parámetro LOGLEVEL en /etc/sysconfig/init para establecer el nivel de registro de la consola. Para establecer el nivel de registro de la consola en Red Hat Enterprise Linux 6, pase loglevel=' como parámetro de tiempo de arranque. Por ejemplo, loglevel=6 imprimirá todos los mensajes menores que 6 (no igual a solo menor que).

Crédito a:

  • RHEL 6 - E.3.9. /proc/sys/
  • Linuxtopia - Niveles de registro del kernel

Linux
  1. Cómo instalar Kernel 5.13 en Ubuntu 18.04 desde el repositorio 20.04

  2. ¡Cómo evitar que Windows10 VM en OpenStack se reinicie automáticamente!

  3. ¿Cómo detener y deshabilitar el servicio ClamAV de CentOS?

  4. ¿Cómo cargar módulos del kernel de Linux desde el código C?

  5. ¿Cómo acceder (si es posible) al espacio del kernel desde el espacio del usuario?

Cómo compilar el kernel de Linux desde cero {Guía paso a paso}

Cómo construir el kernel de Linux desde cero

¿Cómo evitar que Orca se inicie al iniciar sesión?

Cómo compilar el kernel de Linux desde el origen para crear un kernel personalizado

¿Cómo puedo obtener la duración de un archivo de video desde la consola?

¿Cómo evitar que la dirección MAC cambie después de desconectarse?