Inicio > Gestión de paquetes y sistema > dmesg

dmesg: Verificación de mensajes del búfer de anillo del kernel

Comando para verificar los mensajes (búfer de anillo del kernel) que el kernel emite durante el arranque del sistema. Es una herramienta esencial para la detección de hardware, la carga de controladores y el diagnóstico de errores del sistema.

¿Qué es dmesg?

dmesg es la abreviatura de 'display message' o 'driver message', y muestra los mensajes almacenados en el búfer de anillo (Ring Buffer) del kernel de Linux. Muestra cronológicamente cómo se ha reconocido el hardware, cómo se han cargado los controladores o qué errores han ocurrido desde el arranque del sistema hasta el momento actual.

Funciones y Usos Clave

dmesg se utiliza para diagnosticar lo que ocurre en el nivel más bajo del sistema (el kernel).

  • Verificar mensajes de arranque: Muestra todos los mensajes del kernel emitidos al iniciar el sistema.
  • Diagnóstico de hardware: Verifica los registros cuando se conecta o desconecta nuevo hardware (USB, disco, etc.).
  • Errores de controlador: Rastrea la causa de fallos en la carga de controladores o errores a nivel de kernel (Kernel Panic).
  • Búfer de anillo: El tamaño del búfer es fijo, por lo que los registros antiguos son sobrescritos por los nuevos.

Opciones Principales (Shell)

dmesg a menudo se usa en combinación con otros comandos (grep, less) mediante una tubería (|), pero también tiene sus propias opciones útiles.

1. 출력 형식 및 시간

2. 필터링 및 실시간 모니터링

3. 버퍼/콘솔 제어 (주의 필요)

Comando generado:

Combina los comandos.

Descripción:

`dmesg` Ejecutando el comando.

Combina las opciones anteriores para ejecutar virtualmente los comandos junto con la IA.

Ejemplos de Escenarios de Uso (Shell)

dmesg se usa a menudo con grep para filtrar solo la información deseada.

Ver todos los mensajes (paginado)

dmesg | less

Uso más básico. Desplázate cómodamente con less.

Ver nuevos mensajes en tiempo real (formato legible)

dmesg -wH

Combina -w (tiempo real) y -H (hora legible para humanos).

Filtrar solo mensajes relacionados con USB

dmesg | grep -i usb

La opción -i de grep ignora mayúsculas y minúsculas.

Filtrar mensajes relacionados con discos (SATA/NVMe)

dmesg | grep -iE 'sd[a-z]|nvme'

Usa grep -E (expresiones regulares extendidas) para buscar logs que contengan 'sd[a-z]' o 'nvme'.

Filtrar solo errores (Error) o advertencias (Warn)

dmesg -H -l err,warn

Especifica el nivel de log con la opción -l.

Ver solo los últimos 10 mensajes

dmesg | tail -n 10

Combina con tail para verificar rápidamente solo los mensajes recientes.

Ver incluyendo etiquetas facility/level

dmesg -xT | less

La opción -x decodifica facility/level para facilitar la comprensión.

Guardar logs en un archivo

dmesg -T > ~/dmesg-$(date +%F-%H%M).log

Guarda todo el dmesg inmediatamente después del arranque.

Instalación

dmesg está incluido en el paquete util-linux y viene preinstalado en la mayoría de las distribuciones de Linux.

Instalado por defecto

No requiere instalación adicional. Si no está presente, instale el paquete 'util-linux' de su distribución.

Consejos y Advertencias

dmesg vs journalctl

  • Entorno systemd: En sistemas systemd modernos, es posible ver logs del sistema más allá del nivel de dmesg usando 'journalctl -k' (logs del kernel) o 'journalctl -b' (logs de este arranque).
  • Formato de hora: El tiempo en la salida predeterminada de dmesg es [tiempo transcurrido (segundos) desde el arranque]. Para ver la hora real, use las opciones '-H' o '-T'.
  • Sobreescritura del búfer: Debido a la naturaleza del búfer de anillo, los mensajes antiguos pueden desaparecer. Si necesita preservar los logs iniciales del arranque, verifíquelos con 'journalctl -b 0' o guarde la salida de dmesg en un archivo.
  • Permisos/Seguridad: Algunas distribuciones restringen el acceso de usuarios normales a dmesg mediante '/proc/sys/kernel/dmesg_restrict=1'. En este caso, use 'sudo dmesg' o 'sudo journalctl -k'.
  • Borrar logs (-c, -C): 'dmesg -c' y '-C' son útiles para depurar, pero una vez borrados, los logs no se pueden recuperar. Úselos con precaución en entornos de producción.

comandos relacionados

Son comandos que son funcionalmente similares o que se usan juntos con frecuencia.



Comandos de la misma categoría