Durante o processo de inicialização do sistema o kernel é carregado na memória e controla todo o sistema. Quando o sistema é inicializado, ele exibe mensagens na tela que mostram informações sobre os dispositivos de hardware que o kernel detectou durante o processo de inicialização.
Estas mensagens estão disponíveis no buffer do kernel. Sempre que uma nova mensagem surge mensagem anterior é substituída. Você pode ver todas essas mensagens após a inicialização do sistema usando o comando dmesg.
Ver as mensagens de boot
Ao executar o comando dmesg, você pode visualizar os hardwares que são detectados durante o processo de inicialização e detalhes de configuração. Há muita informação útil exibida no dmesg. Basta navegar através delas, linha por linha, e tentar entender o que significa. Uma vez que você tenha uma idéia do tipo de mensagens exibida, você pode achar o que é útil para solução de problemas, quando se deparar com um problema.
# dmesg | more
Bluetooth: L2CAP ver 2.8
eth0: no IPv6 routers present
bnx2: eth0 NIC Copper Link is Down
usb 1-5.2: USB disconnect, address 5
bnx2: eth0 NIC Copper Link is Up, 100 Mbps full duplex
Ver memória disponível no Sistema
Você também pode visualizar a memória disponível a partir das mensagens dmesg como mostrado abaixo.
# dmesg | grep Memory
Memory: 57703772k/60817408k available (2011k kernel code, 1004928k reserved, 915k data, 208k init)
Ver Ethernet Link Status (UP/DOWN)
No exemplo abaixo, dmesg indica que a conexão eth0 está em estado ativo durante a processo de boot.
# dmesg | grep eth
eth0: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem 96000000, IRQ 169, node addr e4:1f:13:62:ff:58
eth1: Broadcom NetXtreme II BCM5709 1000Base-T (C0) PCI Express found at mem 98000000, IRQ 114, node addr e4:1f:13:62:ff:5a
eth0: Link up
Limpar mensagens em buffer do dmesg
Às vezes você pode querer limpar as mensagens do dmesg antes de sua próxima reinicialização. Você pode limpar o buffer dmesg como mostrado abaixo.
# dmesg -c
# dmesg
DMESG timestamp: data e hora de cada mensagem do dmesg
Por padrão o dmesg não tem o timestamp associado a eles. No entanto Linux fornece uma maneira de ver a data e hora para cada mensagem de inicialização no dmesg no arquivo /var/log/kern.log como mostrado abaixo.
O serviço klogd deve ser habilitado e configurado corretamente para registrar as mensagens no arquivo /var/log/kern.log.
# dmesg | grep “L2 cache”
[ 0.014681] CPU: L2 cache: 2048K
# grep “L2 cache” kern.log.1
Oct 18 23:55:40 ubuntu kernel: [ 0.014681] CPU: L2 cache: 2048K
Utilizando os exemplos de comandos demonstrados neste artigo podemos efetuar com sucesso o troubleshooting das mensagens de boot utilizando o dmesg.