7 comandos 'DMESG' para la resolución de problemas y recopilar información de Linux Systems

7 comandos 'DMESG' para la resolución de problemas y recopilar información de Linux Systems

El 'dmesg'El comando muestra los mensajes del búfer de anillo del núcleo. Un sistema pasa múltiples RunLevel desde donde podemos obtener mucha información, como arquitectura del sistema, CPU, dispositivo adjunto, RAM, etc. Cuando la computadora se inicia, un núcleo (núcleo de un sistema operativo) se carga en la memoria. Durante ese período, se muestran el número de mensajes donde podemos ver dispositivos de hardware detectados por Kernel.

Leer también: 10 comandos de Linux para recopilar información de sistema y hardware

ejemplos de comando dmesg

Los mensajes son muy importantes en términos de diagnóstico de propósito en caso de falla del dispositivo. Cuando conectamos o desconectamos el dispositivo de hardware en el sistema, con la ayuda del comando DMESG conocemos información detectada o desconectada sobre la mosca. El dmesg El comando está disponible en la mayoría Linux y Unix sistema operativo basado.

Lanzemos algo de luz sobre la herramienta más famosa llamada 'dmesg' con sus ejemplos prácticos como se discute a continuación. La sintaxis exacta de DMESG de la siguiente manera.

# dmseg [opciones ...]

1. Enumere todos los controladores cargados en el núcleo

Podemos usar herramientas de manipulación de texto I.mi. 'más','cola','menos' o 'grep'con el comando dmesg. Como la salida del registro DMESG no cabe en una sola página, el uso de DMESG con tubería más o menos el comando mostrará registros en una sola página.

[[correo electrónico protegido] ~]# dmesg | Más [[correo electrónico protegido] ~]# dmesg | menos
Salida de muestra
[0.000000] Inicialización de cgroup subsys cpuset [0.000000] Inicialización de la CPU de cgroup subsys [0.000000] Inicialización de CGROUP Subsys CPUACCT [0.000000] Linux versión 3.11.0-13-Generic ([correo electrónico protegido]) (GCC versión 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)) #20-Ubuntu SMP mié 23 de octubre 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-Genérico 3.11.6) [0.000000] CPU Kernel compatible con el núcleo: [0.000000] Intel GenuineIntel [0.000000] AMD Authenticamd [0.000000] NSC Geode por NSC [0.000000] Cyrix Cyrixinstead [0.000000] Centauro Centaurhauls [0.000000] transmeta genuinetmx86 [0.000000] transmeta transmetacpu [0.000000] UMC UMC UMC [0.000000] E820: Mapa de RAM físico proporcionado por el BIOS: [0.000000] BIOS-E820: [MEM 0x0000000000000000-0X000000000009FBFF] USABLE [0.000000] BIOS-E820: [MEM 0x00000000000F0000-0X0000000000000FFFFF] Reservado [0.000000] BIOS-E820: [MEM 0x0000000000100000-0X000000007DC08BFF] USABLE [0.000000] BIOS-E820: [MEM 0x000000007DC08C00-0X000000007DC5CBFF] ACPI NVS [0.000000] BIOS-E820: [MEM 0x000000007DC5CC00-0X000000007DC5EBFF] Datos de ACPI [0.000000] BIOS-E820: [MEM 0x000000007DC5EC00-0X000000007FFFFFF] Reservado [0.000000] BIOS-E820: [MEM 0x00000000E0000000-0X0000000000EFFFFFF] Reservado [0.000000] BIOS-E820: [MEM 0x00000000FEC00000-0X0000000000FED003FF] Reservado [0.000000] BIOS-E820: [MEM 0x0000000000FED20000-0X0000000000FED9FFFF] Reservado [0.000000] BIOS-E820: [MEM 0x0000000000FEE00000-0X0000000000FEFFFFF] Reservado [0.000000] Bios-E820: [MEM 0x00000000FFB00000-0X0000000000FFFFFFFF] Reservado [0.000000] NX (Ejecutar desactivación) Protección: Activo .. 

Leer también: Administrar archivos de Linux de manera efectiva utilizando comandos de cabeza, cola y gato

2. Lista de todos los dispositivos detectados

Para descubrir qué discos duros ha sido detectado por el kernel, puede buscar la palabra clave "SDA" junto con "grep"Como se muestra a continuación.

[[correo electrónico protegido] ~]# dmesg | Grep SDA [1.280971] SD 2: 0: 0: 0: [SDA] 488281250 Bloques lógicos de 512 bytes: (250 GB/232 GIB) [1.281014] SD 2: 0: 0: 0: [SDA] Write Protect está apagado [1.281016] SD 2: 0: 0: 0: [SDA] SENSE DE MODO: 00 3A 00 00 [1.281039] SD 2: 0: 0: 0: [SDA] Escribir caché: habilitado, leer caché: habilitado, no es compatible con DPO o FUA [1.359585] SDA: SDA1 SDA2 < SDA5 SDA6 SDA7 SDA8> [1.360052] SD 2: 0: 0: 0: [SDA] Disco SCSI adjunto [2.347887] ext4-fs (SDA1): sistema de archivos montado con modo de datos ordenado. Opts: (nulo) [22.928440] Agregar 39055532k intercambio en /dev /SDA6. Prioridad: -1 Extención: 1 En todo: 3905532k FS [23.950543] ext4-fs (SDA1): re-montado. OPTS: Errores = RENDEUNT-RO [24.134016] ext4-fs (SDA5): sistema de archivos montado con modo de datos ordenado. OPTS: (NULL) [24.330762] ext4-fs (SDA7): sistema de archivos montado con modo de datos ordenado. OPTS: (NULL) [24.561015] ext4-fs (SDA8): sistema de archivos montado con modo de datos ordenado. Opts: (nulo)

NOTA: El primer disco duro SATA 'SDA', 'SDB' es el segundo disco duro SATA y así sucesivamente. Buscar con 'HDA' o 'HDB' en el caso del disco duro IDE.

3. Imprima solo las primeras 20 líneas de salida

La 'cabeza' junto con dmesg mostrará las líneas de partida I.mi. 'dmesg | Head -20 'imprimirá solo 20 líneas desde el punto de partida.

[[correo electrónico protegido] ~]# dmesg | Cabeza -20 [0.000000] Inicialización de cgroup subsys cpuset [0.000000] Inicialización de la CPU de cgroup subsys [0.000000] Inicialización de CGROUP Subsys CPUACCT [0.000000] Linux versión 3.11.0-13-Generic ([correo electrónico protegido]) (GCC versión 4.8.1 (Ubuntu/Linaro 4.8.1-10ubuntu8)) #20-Ubuntu SMP mié 23 de octubre 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20-Genérico 3.11.6) [0.000000] CPU Kernel compatible con el núcleo: [0.000000] Intel GenuineIntel [0.000000] AMD Authenticamd [0.000000] NSC Geode por NSC [0.000000] Cyrix Cyrixinstead [0.000000] Centauro Centaurhauls [0.000000] transmeta genuinetmx86 [0.000000] transmeta transmetacpu [0.000000] UMC UMC UMC [0.000000] E820: Mapa de RAM físico proporcionado por el BIOS: [0.000000] BIOS-E820: [MEM 0x0000000000000000-0X000000000009FBFF] USABLE [0.000000] BIOS-E820: [MEM 0x00000000000F0000-0X0000000000000FFFFF] Reservado [0.000000] BIOS-E820: [MEM 0x0000000000100000-0X000000007DC08BFF] USABLE [0.000000] BIOS-E820: [MEM 0x000000007DC08C00-0X000000007DC5CBFF] ACPI NVS [0.000000] BIOS-E820: [MEM 0x000000007DC5CC00-0X000000007DC5EBFF] Datos de ACPI [0.000000] Bios-E820: [MEM 0x000000007DC5EC00-0X000000007FFFFFF] Reservado

4. Imprima solo las últimas 20 líneas de salida

La 'cola' junto con el comando dmesg imprimirá solo 20 últimas líneas, esto es útil en caso de que inseremos un dispositivo extraíble.

[[correo electrónico protegido] ~]# dmesg | Tail -20 Parport0: estilo PC en 0x378, IRQ 7 [PCSPP, Tristate] PPDEV: controlador de puerto paralelo de espacio de usuario EXT4-FS (SDA1): sistema de archivos montado con modo de datos ordenado agregando 2097144K Swap On /dev /SDA2. Prioridad: -1 Extención: 1 En todo: 2097144K ReadAhead-desable-Servicio: retrasar el servicio Auditd IP_Table: (C) 2000-2006 Netfilter Core Team NF_Conntrack Versión 0.5.0 (16384 cubos, 65536 máximo) NET: Protocolo registrado Familia 10 LO: Extensiones de privacidad de discapacidad E1000: Eth0 Nic Link está arriba 1000 Mbps Dúplex completo, Control de flujo: Ninguno Pro de hilo de trabajo lento: Inicio Up Llow Trabajo Pool: Ready FS- Cache: Cachefiles cargados: Caciles cargados: Seguridad niega el permiso para nominar el contexto de seguridad: Error -95 ETH0: No hay enrutadores IPv6 Tipo presente = 1305 Auditoría (1398268784.593: 18630): audit_enabled = 0 Old = 1 Auid = 4294967295 Ses = 4294967295 Res = 1 ReadAhead-colector: Inicio de arrendamiento Auditoría ReadeAhead-Collector: clasificación de readecuación: terminado: terminado

5. Búsqueda de dispositivo detectado o cadena particular

Es difícil buscar una cadena particular debido a la longitud de la salida DMESG. Entonces, filtrar las líneas con una cadena como 'USB"DMA"tty' y 'memoria' etc. La opción '-i' instruye al comando GREP para ignorar el caso (letras de mayúsculas y minúsculas).

[[correo electrónico protegido] registro]# dmesg | GREP -I USB [[Correo electrónico protegido] Log]# DMESG | GREP -I DMA [[correo electrónico protegido] nt.com log]# dmesg | Grep -i tty [[correo electrónico protegido] log]# dmesg | grep -i memoria
Salida de muestra
[0.000000] Escaneo 1 áreas para baja memoria corrupción [0.000000] inicial memoria Mapeado: [MEM 0x00000000-0X01FFFFFF] [0.000000] Base memoria Trampolín en [C009B000] 9B000 Tamaño 16384 [0.000000] init_memoria_mapping: [MEM 0x00000000-0X000FFFFF] [0.000000] init_memoria_mapping: [MEM 0x37800000-0x379fffff] [0.000000] init_memoria_mapping: [MEM 0x34000000-0X377FFFFF] [0.000000] init_memoria_mapping: [MEM 0x00100000-0x33fffff] [0.000000] init_memoria_mapping: [MEM 0x37a00000-0x37bfdfff] [0.000000] temprano memoria rangos de nodo [0.000000] PM: Nosave registrado memoria: [MEM 0X0009F000-0X000EFFFF] [0.000000] PM: Nosave registrado memoria: [MEM 0x000F0000-0X000FFFFF] [0.000000] Pruebe 'cgroup_disable =memoria'Opción si no quieres memoria CGROUPS [0.000000] Memoria: 2003288k/2059928k disponible (6352k Código del núcleo, 607k rwdata, 2640k Rodata, 880k init, 908k BSS, 56640K reservado, 1146920k Highmem) [0.000000] núcleo virtual memoria Diseño: [0.004291] Inicialización de cGroup subsys memoria [0.004609] Alternativas SMP liberadas memoria: 28k (C1A3E000 - C1A45000) [0.899622] liberando initrd memoria: 23616k (F51D0000 - F68E0000) [0.899813] Escaneo para bajo memoria corrupción cada 60 segundos [0.946323] Agpgart-Intel 0000: 00: 00.0: detectado 32768K robado memoria [1.360318] Liberando el núcleo no utilizado memoria: 880k (C1962000 - C1A3E000) [1.429066] [DRM] Memoria Usable por dispositivo gráfico = 2048m

6. Borrar registros de búfer DMESG

Sí, podemos borrar los registros DMESG si es necesario con el siguiente comando. Borrará registros de mensajes de búfer de anillo DMESG hasta que ejecute el comando a continuación. Aun así puede ver registros almacenados en '/var/log/dmesg'Archivos. Si conecta algún dispositivo generará la salida DMESG.

[[correo electrónico protegido] registro]# dmesg -c

7. Monitoreo de DMESG en tiempo real

Algunos distribución permiten el comando 'tail -f/var/log/dmesg' también para el monitoreo de DMESG en tiempo real.

[[correo electrónico protegido] registro]# ver "dmesg | cola -20"

Conclusión: El comando DMESG es útil ya que DMESG registra todos los cambios del sistema realizados u ocurren en tiempo real. Como siempre puedes hombre dmesg Para obtener más información.