Linux: ¿Cómo detectar Errores con el Comando DMESG?

Segun la Wikipedia «dmesg (diagnostic message, mensajes de diagnóstico) es un comando presente en los sistemas operativos Unix que lista el buffer de mensajes del núcleo. Este buffer contiene una gran variedad de mensajes importantes generados durante el arranque del sistema y durante la depuración de aplicaciones.»

Traduciendo un poco esto, con dmesg podemos obtener (usando nuestra terminal) la información de arranque nuestro sistema entre otros datos, mensajes del nucleo (kernel) y utilizar esta información para detectar posibles errores de nuestro sistema y del Hardware.

DMESG viene preinstalado en casi cualquier distro, por lo que no es necesario instalar nada.

¿COMO SE USA?

# dmesh | lessLenguaje del código: PHP (php)

Acá vemos que nos muestra toda la información, sin discriminar lo que nos puede dificultar un poco la identificación de errores o posibles problemas, por suerte podemos filtrar el detalle para que nos muestre los posibles fallos o warnings del sistema.

Los filtros los identificaremos como:
emerg – el sistema no se puede usar
alert – se deben tomar medidas de inmediato
crit – condiciones críticas
err – condiciones de error
warn – condiciones de advertencia
notice – condición normal pero significativa
info – informativo
debug – mensajes a nivel de depuración

Podemos filtrar el resultado de dmesg, por ejemplo si deseamos ver las alertas y advertencias críticas:

# dmesg --level=alert,critLenguaje del código: PHP (php)

Para ver errores simples y advertencias:

# dmesg --level=err,warnLenguaje del código: PHP (php)

Podemos buscar las referencias a dispositivos USB en los mensajes del kernel:

# dmesg | grep -i usbLenguaje del código: PHP (php)

Muestrar todos los puertos series (los cuales están representados por los caracteres tty):

# dmesg | grep -i ttyLenguaje del código: PHP (php)

Mostrar datos de la memoria física (esto es, RAM):

# dmesg | grep -i memoryLenguaje del código: PHP (php)

Buscar módulos:

# dmesg | grep nombre_moduloLenguaje del código: PHP (php)

Controlar las últimas 35 líneas del DMESG en tiempo real:

# watch "dmesg | tail -35"Lenguaje del código: PHP (php)

DMESG es una herramienta muy útil, más cuando nos es necesario identificar problemas a nivel hardware los cuales en algunos casos son muy dificiles de detectar e impactan directamente en la performance de nuestra PC o SERVIDOR.

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.