dmesg
dmesg (display message ou driver message, em português mostrar mensagem ou mensagem de controlador) é um comando na maioria dos sistemas operacionais do tipo Unix que imprime o buffer de mensagens do núcleo. A saída deste comando normalmente contem as mensagens produzidas pelos drivers de dispositivos.[1]
Inicialização
[editar | editar código-fonte]Quando inicializado, um sistema de computador carrega seu núcleo na memória. Nesta etapa os drivers de dispositivos presentes no núcleo são configurados para controlar os hardwares relevantes. Tais controladores (drivers), bem como outros elementos dentro do núcleo, podem produzir saídas ("mensagens") reportando tanto a presença de módulos quanto os valores de quaisquer parâmetros adotados. (Pode ser possível especificar parâmetros de inicialização que controlam o nível de detalhe nas mensagens.) O processo de inicialização normalmente acontece em uma velocidade onde mensagens individuais rolam fora do topo da tela antes que um operador possa lê-las/analisá-las. (Algumas teclas podem pausar a saída de tela.) O comando dmesg permite a revisão destas mensagens de uma maneira controlada após o sistema ter sido iniciado.
Após a inicialização
[editar | editar código-fonte]Mesmo após o sistema ter sido totalmente inicializado, o núcleo pode, ocasionalmente, produzir mensagens posteriores de diagnóstico. Exemplos comuns de quando isto pode acontecer são quando dispositivos de E/S encontram erros, ou dispositivos USB são conectados em tempo de execução. O dmesg fornece um mecanismo para revisar essas mensagens em um momento posterior. Quando produzido pela primeira vez elas são direcionadas para o console do sistema: se o console estiver em uso então essas mensagens podem ser confundidas com ou rapidamente sobrescritas pela saída de programas do usuário.
Saída
[editar | editar código-fonte]A saída do dmesg pode corresponder a muitas telas completas. Por esta razão, esta saída é normalmente revisada usando ferramentas padrões de manipulação de texto como more, tail, less ou grep. A saída é normalmente capturada em um arquivo de log do sistema permanente por meio de uma daemon de registro, como syslog.
O buffer de anel do núcleo (kernel ring buffer)
[editar | editar código-fonte]O buffer de anel do núcleo é uma estrutura de dados que registra mensagens relacionadas à operação do núcleo. Um bufer de anel é um tipo especial de buffer que possui sempre um tamanho constante, removendo mensagens mais antigas quando novas mensagens entram.
É este buffer que armazena as mensagens (saídas) do núcleo e dos controladores de dispositivos, tanto no momento da inicialização quanto durante a utilização do sistema de computador, por meio do sistema operacinoal.
O dmesg é uma ferramenta utilizada para analisar/controlar este buffer e sua ação padrão é exibir todas as mensagens presentes no buffer.
Referências
Ligações externas
[editar | editar código-fonte]- dmesg(8) Página de manual do FreeBSD
- The dmesg Command pelo The Linux Information Project (LINFO)
- dmesg explained: exemplos de saída do núcleo