Cómo usar el comando dmesg en Linux
Deberíadmesg
Los comandos le permiten echar un vistazo al mundo oculto del proceso de arranque de Linux. Revise y controle los mensajes del controlador y del dispositivo de hardware desde el propio búfer de anillo del núcleo con su «amigo buscador de fallas».
Cómo funciona el búfer de anillo de Linux
En las computadoras Linux y similares a Unix, el arranque y el inicio son dos fases distintas en la secuencia de eventos que ocurren cuando se enciende una computadora.
proceso de arranque ( BIOS o UEFI, biorreactor de membrana, y COMIDA ) para inicializar el sistema hasta que el kernel se cargue en la memoria y se conecte al ramdisk inicial ( initrd o initramfs ), y sistema Aquí vamos.
El proceso de inicio toma el relevo y completa la inicialización del sistema operativo. Durante las primeras etapas de la inicialización, los demonios de registro como registro del sistema o rsyslogd Aún no está en funcionamiento. Para evitar perderse mensajes de error y advertencias obvios de esta fase de inicialización, el núcleo incluye un búfer de anillo Se utiliza como almacén de mensajes.
Un búfer circular es un espacio de memoria reservado para mensajes. Tiene un diseño simple y un tamaño fijo. Cuando está lleno, los mensajes más nuevos sobrescriben a los más antiguos. Conceptualmente, puede pensarse como » búfer de anillo «
El búfer de anillo del kernel almacena información como mensajes de inicialización para controladores de dispositivos, mensajes del hardware y mensajes de los módulos del kernel. Debido a que contiene estos mensajes de inicio de bajo nivel, el búfer circular es un buen lugar para comenzar a investigar errores de hardware u otros problemas de inicio.
Pero no te vayas con las manos vacías.llevardmesg
llevar.
comando dmesg
Deberíadmesg
comando le permite Ver mensajes almacenados en el búfer circular. Por defecto, necesitassudo
usardmesg
.
sudo dmesg
Todos los mensajes del búfer circular se muestran en la ventana del terminal.
Eso fue una inundación. Obviamente, lo que tenemos que hacer es canalizarless
:
sudo dmesg |menos
Ahora podemos desplazarnos por los mensajes para encontrar elementos de interés.
Puedes usar la función de búsquedaless
para ubicar y resaltar elementos y términos que le interesen. Inicie la función de búsqueda presionando la tecla de barra inclinada «/» enless
.
Eliminar la necesidad de sudo
si quieres evitarsudo
debe usarse cada vezdmesg
, puede usar este comando. Sin embargo, tenga cuidado: permite que cualquier persona con una cuenta de usuario en su computadora usedmesg
, sin usosudo
.
sudo sysctl -w kernel.dmesg_restrict=0
forzar salida de color
por defecto,dmesg
Puede configurarse para producir una salida en color. Si no, puedes usar(color) opción dicedmesg
Su salida es coloreada.-L
sudo dmesg -L
para forzardmesg
Siempre predeterminado a la pantalla a color, use el siguiente comando:
sudo dmesg --color=siempre
sello de tiempo humano
por defecto,dmesg
Marcas de tiempo usando segundos y nanosegundo desde el arranque del núcleo. Para presentarlo en un formato más amigable para los humanos, use-H
opción (humana).
sudo dmesg -H
Esto hace que sucedan dos cosas.
- La salida se muestra automáticamente en
less
. - Timestamp muestra una marca de tiempo con fecha y hora, con una resolución de minutos. Los mensajes que ocurren cada minuto se marcan con el número de segundos y nanosegundos a partir de ese minuto.
marca de tiempo legible por humanos
Si no necesita una precisión de nanosegundos, pero desea que las marcas de tiempo sean más fáciles de leer que las predeterminadas, use-T
(legible por humanos) opciones.(Esto es un poco confuso.-H
es la opción «humana»,-T
es una opción «legible por humanos». )
sudo dmesg -T
Las marcas de tiempo se representan como fechas y horas estándar, pero con una resolución reducida a un minuto.
Todo lo que sucede en un minuto tiene la misma marca de tiempo. Esto es lo suficientemente bueno si solo te preocupas por el orden de los eventos. Además, observe que se le redirige de nuevo a la línea de comandos. Esta opción no se llama automáticamenteless
.
Mira el evento en vivo
Para ver los mensajes a medida que llegan al búfer de anillo del núcleo, utilice--follow
(esperar mensaje) opción. Esta afirmación puede parecer un poco extraña. Si el búfer de anillo se usa para almacenar mensajes de eventos que ocurren durante la secuencia de inicio, ¿cómo llegan los mensajes en tiempo real al búfer de anillo una vez que la computadora está en funcionamiento?
Cualquier cosa que provoque un cambio en el hardware conectado a la computadora hará que se envíen mensajes al búfer de anillo del kernel. Actualice o agregue módulos del kernel y verá mensajes de búfer de anillo sobre esos cambios. Si inserta una unidad USB o conecta o desconecta un dispositivo Bluetooth, se ledmesg
Ver el mensaje en la salida. Incluso el hardware virtual puede hacer que aparezcan nuevos mensajes en el búfer circular. Inicie la máquina virtual y verá que llega nueva información al búfer circular.
sudo dmesg --seguir
Tenga en cuenta que no volverá a la línea de comandos. Cuando aparezcan nuevos mensajes, se mostrarándmesg
en la parte inferior de la ventana de la terminal.
Incluso montar un disco CD-ROM se considera un cambio porque ha migrado el contenido del disco CD-ROM al árbol de directorios.
Para salir de la transmisión en vivo, haga clic en elCtrl+C
.
Recuperar los últimos diez mensajes
usar el comando de cola Recuperar los últimos diez Mensajes del búfer de anillo del núcleo. Por supuesto, puede recuperar cualquier número de mensajes. Diez es solo nuestro ejemplo.
sudo dmesg |Último -10
Los últimos diez mensajes se recuperan y se enumeran en la ventana del terminal.
buscar un término específico
dmesg
pasarsalida de tuberíagrep
Buscar una cadena o patrón específico. Aquí usamos-i
(ignorar mayúsculas y minúsculas) para ignorar las mayúsculas y minúsculas de la cadena coincidente. Nuestros resultados incluirán «usb» y «USB» y cualquier otra combinación de minúsculas y mayúsculas.
sudo dmesg |grep-i usb
Los resultados de búsqueda resaltados están en mayúsculas y minúsculas.
Podemos aislar mensajes que contengan referencias al primero interfaz SCSI sistema en disco durosda
.(Realmente,sda
ahora también se usa para Primer disco duro SATA y la unidad USB. )
sudo dmesg |grep-i sda
todas las noticias mencionadassda
se recuperan y se enumeran en la ventana del terminal.
deseargrep
Para buscar varios términos a la vez, utilice-E
(Expresión regular extendida) opción. Debe proporcionar el término de búsqueda en una cadena entre comillas con una barra vertical ‘|’Separador entre términos de búsqueda:
sudo dmesg |grep -E "memoria|tty|dma"
Cualquier mensaje que mencione cualquier término de búsqueda aparecerá en la ventana de la terminal.
Usar nivel de registro
Cada mensaje registrado en el búfer de anillo del kernel tiene un nivel adjunto. El nivel indica la importancia de la información en el mensaje. Los niveles son:
- Aparecer: El sistema no está disponible.
- alarma: Se deben tomar medidas inmediatamente.
- crítico: Situación crítica.
- Oh: Condición de error.
- advertir: Condición de advertencia.
- Aviso: Condición normal pero importante.
- información:información.
- depuración: mensaje de nivel de depuración.
Podemos hacer esto usando(nivel) y pase el nombre del nivel como un argumento de línea de comandodmesg
para extraer mensajes que coincidan con un cierto nivel.-l
Para ver solo los mensajes en el nivel INFO, use el siguiente comando:
sudo dmesg -l información
Todos los mensajes enumerados son mensajes informativos. No contienen errores ni advertencias, solo avisos útiles.
Combine dos o más niveles de registro en un comando para recuperar mensajes para múltiples niveles de registro:
sudo dmesg -l depurar, notificar
salida dedmesg
es una combinación de mensajes para cada nivel de registro:
Categoría de instalación
Estasdmesg
Los mensajes se agrupan en categorías denominadas «instalaciones». La lista de instalaciones es la siguiente:
- Kern: Mensajes del núcleo.
- usuario: mensaje de nivel de usuario.
- correo: sistema de correo.
- proceso de demonio: demonio del sistema.
- autorizado: mensaje de seguridad/autorización.
- registro del sistema: Mensaje syslogd interno.
- lpr: Subsistema de impresora de línea.
- información: Subsistema de noticias de la red.
podemos preguntardmesg
Filtre su salida para mostrar solo los mensajes de una instalación específica. Para esto tenemos que usar-f
(instalación) opción:
sudo dmesg -f demonio
dmesg
Enumere todos los mensajes relacionados con demonios en una ventana de terminal.
Como hicimos en los niveles, podemos pedirdmesg
Enumere los mensajes de varias instalaciones a la vez:
sudo dmesg -f syslog-demonio
El resultado es una combinación de mensajes de registro de syslog y daemon.
Combinar instalaciones y niveles
(-x
decodificar) opcióndmesg
Muestre las instalaciones y los niveles como prefijos legibles por humanos en cada línea.
sudo dmesg-x
Las instalaciones y los niveles se pueden ver al principio de cada línea:
Las primeras secciones resaltadas son mensajes de la función «kernel», con un nivel de «notificar». La segunda sección resaltada es un mensaje de la función «núcleo» con un nivel de «información».
Genial, pero ¿por qué?
En resumen, encontrar fallas.
Si experimenta que el hardware no se reconoce o se comporta maldmesg
, puede arrojar algo de luz sobre el problema.
- por
dmesg
Revise los mensajes desde el nivel más alto hasta cada nivel inferior, en busca de errores o advertencias que mencionen elementos de hardware o que puedan estar relacionados con el problema. - por
dmesg
Busque cualquier mención de la instalación adecuada para ver si contienen información útil. dmesg
pasartuberíagrep
Encuentre cadenas o identificadores relevantes, como el fabricante del producto o el número de modelo.dmesg
pasartuberíagrep
Busque términos genéricos como «gpu» o «almacenamiento», o términos como «falla», «falla» o «falla».- Utilice esta opción ytiempo real
--follow
Mira las noticias.dmesg
feliz cacería.
comandos de linux | ||
documento | asfalto · fotovoltaica · gato · táctica · modo de cambio · grep · diferencia · sed · Arkansas · hombre · para empujar · ventana emergente · fsck · disco de prueba · número de serie · f.d. · pandoc · CD · $ruta · awk · participar · jq · doblar · Único · diarioctl · Cola · estado · ls · mesa de estabilidad · eco · menos · chgrp · Chon · Velocidad de rotación · Mirar · cuerda · escribe · cambiar nombre · compresión · abrir la cremallera · Montaña · desinstalar · Instalar · disco · mkfs · RM · Tabla de contenido · Sincronizar · paradero · gpg · seis · Nano · Tabla de contenido · Du · existir · reparar · intercambio · clon · arrancar · Srm | |
proceso | alias · Pantalla · óptimo · OK · agradable · Progreso · pista · sistema · multiplexor · chsh · historia · existir · lote · libre · cual · dmesg · Franco suizo · módulo de usuario · posdata · chroot · xargs · Terminal · dedo meñique · lsof · Estadísticas de máquinas virtuales · pausa · pared · Sí · matar · dormir · Sudo · demandar · tiempo · dirección de grupo · módulo de usuario · grupo · lshw · cierre · reiniciar · deténgase · cerrar · clave · lscpu · Lista de tareas cronometradas · fecha · antecedentes · fg | |
redes | estadísticas de la red · plano · pista de ruta · propiedad intelectual · SS · Quien es · fail2ban · bmón · excavar · dedo · mapa · FTP · ondulado · wget · Quién · quién soy · w · iptables · ssh-keygen · ufw |