Skip to main content
Troubleshooting en Unix y Linux con el comando dmesg

Troubleshooting en Unix y Linux con el comando dmesg

Durante todo el proceso de arranque del sistema, el núcleo se carga en la memoria y controla todo el sistema. Utilizamos dmesg para ver esta información

Bienvenidos a un nuevo post en ByteMind en el cual les vamos a hablar de un comando muy útil en sistemas basados en Unix o Linux llamado dmesg.

Durante todo el proceso de arranque del sistema, el núcleo se carga en la memoria y controla todo el sistema.

Cuando el sistema se inicia, imprime por pantalla información acerca de los dispositivos de hardware que el núcleo detecta durante el proceso de arranque.

Estos mensajes están disponibles en el búfer del núcleo y cada vez que llega un mensaje nuevo sobreescrive el anterior. Para ver todos estos mensajes después del arranque del sistema se utiliza el comando dmesg.

En el post de hoy vamos a ver una serie de ejemplos con los que poder consultar información útil del sistema, pero antes de nada veamos como es la sintaxis del comando:

Y como no, la ayuda y el manual del mismo:

 

 

Mostrar los mensajes del arranque

Al ejecutar el comando dmesg, se pueden ver los dispositivos de hardware que han sido detectados durante el arranque y los detalles de configuración de los mismos. Hay muchísima información útil en la salida de este comando y podemos verlo de la siguiente forma:

 

Mostrar los eventos relacionados con la memoria

También es posible ver la memoria utilizada por el sistema, así como detectar posibles problemas en la misma. Para ello podemos buscar por el tipo de memoria a buscar, ya sea RAM, un disco duro, un dispositivo usb o un puerto serial:

O también, es posible mezclar todas estas consultas en una:

 

Leer y limpiar los logs de dmesg

Podemos utilizar la opción -c con el comando dmesg para hacer una limpieza de su registro a la vez que vemos los logs actuales:

 

Mostrar colores en los mensajes de log

Otra opción es el uso de -L del comando dmesg para obtener una vista coloreada y que puede hacer más fácil la identificación de ciertos logs:

 

Limitar la salida a un tipo concreto

Si desea limitar la salida del comando a un tipo en concreto puede utilizar la opción facility especificando el tipo a mostar, por ejemplo:

Además de esta podríamos hacer una búsqueda en base a los siguientes servicios:

 

Restringir la salida a una lista específica de niveles de criticidad

Otra opción es limitar el nivel de log que queremos obtener, por ejemplo, queremos obtener sólo errores obtenidos en el mismo. Para ello usaríamos la opción level de la siguiente forma:

En caso de querer varios, se deberían separar cada uno con un caracter «,»:

Y tendríamos disponibles los siguientes niveles:

 

Habilitar las marcas de tiempo

Puede haber algunos escenarios en los que sea necesario habilitar la marca de tiempo del registro, para ello lanzaríamos el siguiente comando:

En caso de necesitar la marca de tiempo junto con los niveles de criticidad, usaríamos las opciones T y x de la siguiente forma:

 

Monitorizar los registros en tiempo real

Para ver el registro en tiempo real utilizaremos la opción follow como en el siguiente ejemplo:

Y en caso de querer también la marca de tiempo y el nivel de criticidad lo haríamos con el siguiente comando:

 

Mostrar el búfer de mensajes sin formato

En ocasiones, tal vez necesitemos ver los registros sin formato. Esto hará que los muestre más rápido ya que no tiene que procesar los mismos para parsear o mostrar la información de una forma determinada. Para ello utilizaremos la opción -r como en el siguiente ejemplo:

 

Forzar el uso de syslog

En algunas situaciones, es posible que queramos que dmesg obtenga los registros de syslog en lugar de hacerlo de /dev/kmsg como lo hace por defecto. Para ello simplemente tenemos que utilizar la opción -S como en el siguiente ejemplo:

 

De todas formas, los valores del registro se almacenarán en el fichero /var/log/dmesg por si queremos consultar los mismos en un momento concreto.

Y esto ha sido todo por el momento. Espero les sea de utilidad y les ayude en su día a día. Y por último, como siempre, cualquier duda, sugerencia u opinión es bienvenida en los comentarios.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *