7 'DMESG' comandos para solução de problemas e coleta de informações dos sistemas Linux

7 'DMESG' comandos para solução de problemas e coleta de informações dos sistemas Linux

O 'DMESG'Comando exibe as mensagens do buffer do anel do kernel. Um sistema passa vários níveis de run de onde podemos obter muitas informações como arquitetura do sistema, CPU, dispositivo anexado, RAM etc. Quando o computador inicializa, um kernel (núcleo de um sistema operacional) é carregado na memória. Durante esse período, o número de mensagens está sendo exibido onde podemos ver dispositivos de hardware detectados pelo kernel.

Leia também: 10 comandos Linux para coletar informações do sistema e hardware

Exemplos de comando DMESG

As mensagens são muito importantes em termos de diagnóstico de propósito em caso de falha do dispositivo. Quando conectamos ou desconectamos o dispositivo de hardware no sistema, com a ajuda do comando DMESG, conhecemos informações detectadas ou desconectadas na mosca. O DMESG O comando está disponível na maioria Linux e Unix sistema operacional baseado em base.

Vamos lançar alguma luz sobre a ferramenta mais famosa chamada 'DMESG' comando com seus exemplos práticos, conforme discutido abaixo. A sintaxe exata do DMESG da seguinte forma.

# DMSEG [Opções…]

1. Liste todos os motoristas carregados no kernel

Podemos usar ferramentas de manipulação de texto i.e. 'mais','cauda','menos' ou 'grep'Com o comando dmesg. À medida que a saída do log do DMESG não se encaixa em uma única página, usando DMESG com Pipe, mais ou menos o comando exibirá logs em uma única página.

[[Email Protected] ~]# DMESG | Mais [[email protegido] ~]# dmesg | menos
Saída de amostra
[0.000000] Inicializando o CGROUP SUBSYS CPUSET [0.000000] Inicializando o CGROUP SUBSYS CPU [0.000000] Inicializando o CGROUP SUBSYS CPUACCT [0.000000] Linux versão 3.11.0-13-genérico ([Email Protected]) (GCC versão 4.8.1 (Ubuntu/Linaro 4.8.1-10buntu8)) #20-Ubuntu Smp Qua 23 de outubro 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20 Generic 3.11.6) [0.000000] CPUs apoiadas pelo kernel: [0.000000] Intel genuineIntel [0.000000] AMD Authenticamd [0.000000] NSC Geode por NSC [0.000000] Cyrix Cyrixinstead [0.000000] Centaur Centaurhauls [0.000000] transmeta genuinetmx86 [0.000000] transmpetacpu [0.000000] UMC UMC UMC [0.000000] E820: mapa físico fornecido por BIOS: [0.000000] BIOS-E820: [MEM 0x0000000000000000-0X000000000009FBFF] Usável [0.000000] BIOS-E820: [MEM 0x00000000000F0000-0X00000000000FFFFF] Reservado [0.000000] BIOS-E820: [MEM 0X0000000000100000-0X000000007DC08BFF] UNICILADE [0.000000] BIOS-E820: [MEM 0X000000007DC08C00-0X000000007DC5CBFF] ACPI NVS [0.000000] BIOS-E820: [MEM 0x000000007DC5CC00-0X000000007DC5EBFF] dados ACPI [0.000000] BIOS-E820: [MEM 0x000000007DC5EC00-0X000000007FFFFFF] Reservado [0.000000] BIOS-E820: [MEM 0x00000000E0000000-0X00000000EFFFFFF] Reservado [0.000000] BIOS-E820: [MEM 0x00000000FEC00000-0X00000000FED003FF] Reservado [0.000000] BIOS-E820: [MEM 0x00000000FED20000-0X000000FED9FFFF] Reservado [0.000000] BIOS-E820: [MEM 0X00000000FEE00000-0X00000000FEEFFFFF] Reservado [0.000000] BIOS-E820: [MEM 0X000000FFBB00000-0X00000000FFFFFFFF] Reservado [0.000000] NX (Execute Disable) Proteção: ativo… 

Leia também: Gerenciar arquivos Linux de maneira eficaz usando comandos Cabeça, cauda e gato

2. Liste todos os dispositivos detectados

Para descobrir quais discos rígidos foram detectados pelo kernel, você pode procurar a palavra -chave “SDA" juntamente com "grep”Como mostrado abaixo.

[[Email Protected] ~]# DMESG | Grep SDA [1.280971] SD 2: 0: 0: 0: [SDA] 488281250 Blocos lógicos de 512 bytes: (250 GB/232 GIB) [1.281014] SD 2: 0: 0: 0: [SDA] Write Protect está desligado [1.281016] SD 2: 0: 0: 0: [SDA] Sentido de modo: 00 3a 00 00 [1.281039] SD 2: 0: 0: 0: [SDA] Escreva cache: habilitado, leia o cache: habilitado, não suporta DPO ou FUA [1.359585] SDA: SDA1 SDA2 < SDA5 SDA6 SDA7 SDA8> [1.360052] SD 2: 0: 0: 0: [SDA] Disco SCSI anexado [2.347887] ext4-fs (SDA1): sistema de arquivos montado com modo de dados ordenado. OPTS: (NULL) [22.928440] Adicionando 3905532k Swap On /dev /SDA6. Prioridade: -1 extensões: 1 em: 3905532k fs [23.950543] ext4-fs (SDA1): re-montado. OPTS: erros = Remount-RO [24.134016] ext4-fs (SDA5): sistema de arquivos montado com modo de dados ordenado. OPTS: (NULL) [24.330762] ext4-fs (SDA7): sistema de arquivos montado com modo de dados ordenado. OPTS: (NULL) [24.561015] ext4-fs (SDA8): sistema de arquivos montado com modo de dados ordenado. OPTS: (NULL)

OBSERVAÇÃO: O primeiro disco rígido SATA 'SDA', 'sdb' é o segundo disco rígido SATA e assim por diante. Pesquise com 'HDA' ou 'HDB' no caso do disco rígido IDE.

3. Imprima apenas as primeiras 20 linhas de saída

A 'cabeça' junto com o DMESG mostrará as linhas de partida i.e. 'dmesg | cabeça -20 'imprimirá apenas 20 linhas do ponto de partida.

[[Email Protected] ~]# DMESG | Cabeça -20 [0.000000] Inicializando o CGROUP SUBSYS CPUSET [0.000000] Inicializando o CGROUP SUBSYS CPU [0.000000] Inicializando o CGROUP SUBSYS CPUACCT [0.000000] Linux versão 3.11.0-13-genérico ([Email Protected]) (GCC versão 4.8.1 (Ubuntu/Linaro 4.8.1-10buntu8)) #20-Ubuntu Smp Qua 23 de outubro 17:26:33 UTC 2013 (Ubuntu 3.11.0-13.20 Generic 3.11.6) [0.000000] CPUs apoiadas pelo kernel: [0.000000] Intel genuineIntel [0.000000] AMD Authenticamd [0.000000] NSC Geode por NSC [0.000000] Cyrix Cyrixinstead [0.000000] Centaur Centaurhauls [0.000000] transmeta genuinetmx86 [0.000000] transmpetacpu [0.000000] UMC UMC UMC [0.000000] E820: mapa físico fornecido por BIOS: [0.000000] BIOS-E820: [MEM 0x0000000000000000-0X000000000009FBFF] Usável [0.000000] BIOS-E820: [MEM 0x00000000000F0000-0X00000000000FFFFF] Reservado [0.000000] BIOS-E820: [MEM 0X0000000000100000-0X000000007DC08BFF] UNICILADE [0.000000] BIOS-E820: [MEM 0X000000007DC08C00-0X000000007DC5CBFF] ACPI NVS [0.000000] BIOS-E820: [MEM 0x000000007DC5CC00-0X000000007DC5EBFF] dados ACPI [0.000000] BIOS-E820: [MEM 0X000000007DC5EC00-0X000000007FFFFFF] Reservado

4. Imprimir apenas 20 linhas de saída

A 'cauda' junto com o comando dmesg imprimirá apenas 20 últimas linhas, isso é útil caso insira o dispositivo removível.

[[Email Protected] ~]# DMESG | Tail -20 parport0: estilo PC em 0x378, IRQ 7 [PCSPP, Tristate] PPDEV: Driver de porta paralelo do espaço do usuário Ext4-Fs (SDA1): sistema de arquivos montado com modo de dados ordenado Adicionando 2097144K Swap On /dev /SDA2. Prioridade: -1 extensões: 1 em: 2097144k ReadaHead-Disable-Service: Atraso no serviço Auditd ip_tables: (c) 2000-2006 Netfilter Core Team NF_Conntrack versão 0.5.0 (16384 Buckets, 65536 Máx) Rede: Família do protocolo registrado 10 LO: Extensões de privacidade desabilitadas E1000: eth0 nic link está subindo 1000 mbps duplex completo, controle de fluxo: nenhum pool de encadeamento de trabalho lento: iniciando o pool de threads lentos: fs- Cache: Cachefiles carregados: Cachefiles carregados: a segurança nega permissão para nomear o contexto de segurança: erro -95 eth0: nenhum roteador IPv6 presente tipo = 1305 Auditoria (1398268784.593: 18630): Audit_enabled = 0 antiga = 1 AUID = 4294967295 SES = 4294967295 res = 1 ReadAhead-Collector: Iniciando o atraso de serviço Auditd ReadaHead-Collector: classificação ReadAhead-Collector: Concluído

5. Pesquisa dispositivo detectado ou string particular

É difícil pesquisar string específica devido ao comprimento da saída DMESG. Então, filtre as linhas com a corda como 'USB"DMA"tty' e 'memória'etc. A opção '-i' instrui o comando Grep para ignorar o caso (letras superiores ou minúsculas).

[[Email Protected] LOG]# DMESG | GREP -I USB [[Email Protected] LOG]# DMESG | grep -i dma [[email protegido] nt.com log]# dmesg | Grep -i tty [[Email Protected] LOG]# DMESG | Grep -i Memória
Saída de amostra
[0.000000] Examinando 1 áreas para baixo memória corrupção [0.000000] inicial memória Mapeado: [MEM 0x00000000-0x01ffffff] [0.000000] Base memória trampolim em [c009b000] 9b000 tamanho 16384 [0.000000] init_memória_Mapping: [mem 0x00000000-0x000fffff] [0.000000] init_memória_Mapping: [MEM 0x37800000-0x379fffff] [0.000000] init_memória_Mapping: [MEM 0x34000000-0x377fffff] [0.000000] init_memória_Mapping: [MEM 0x00100000-0x33ffffff] [0.000000] init_memória_Mapping: [mem 0x37a00000-0x37bfdfff] [0.000000] cedo memória intervalos de nó [0.000000] pm: Nosave registrado memória: [MEM 0x0009F000-0X000EFFFF] [0.000000] pm: Nosave registrado memória: [MEM 0x000F0000-0X000FFFFF] [0.000000] Tente 'cGroup_disable =memória'opção se você não quiser memória CGROUPS [0.000000] Memória: 2003288K/2059928K Disponível (código do kernel 6352K, 607k rwdata, 2640k Rodata, 880K init, 908k BSS, 56640k Reservado, 1146920k Highmem) [0.000000] kernel virtual memória Layout: [0.004291] Inicializando Subsys CGROUP memória [0.004609] liberando alternativas de SMP memória: 28K (C1A3E000 - C1A45000) [0.899622] libertando initrd memória: 23616k (F51D0000 - F68E0000) [0.899813] digitalização para baixo memória corrupção a cada 60 segundos [0.946323] AGPGART-INTEL 0000: 00: 00.0: detectado 32768k roubado memória [1.360318] Liberando o kernel não utilizado memória: 880K (C1962000 - C1A3E000) [1.429066] [DRM] Memória Usável por dispositivo gráfico = 2048m

6. Loges de buffer DMESG claros

Sim, podemos limpar os logs do DMESG, se necessário, com o comando abaixo. Ele limpará os registros de mensagens do buffer de anel dmesg até você executar o comando abaixo. Ainda você pode visualizar os logs armazenados em '/var/log/dmesg' arquivos. Se você conectar, algum dispositivo gerará saída DMESG.

[[Email Protected] LOG]# DMESG -C

7. Monitorando o DMESG em tempo real

Alguma distro permite que o comando 'cauda -f/var/log/dmesg' também para o monitoramento do DMESG em tempo real.

[[Email Protected] Log]# Assista "DMESG | Tail -20"

Conclusão: O comando DMESG é útil, pois o DMESG registra todas as mudanças do sistema feitas ou ocorrem em tempo real. Como sempre você pode Man Dmesg Para obter mais informações.