Qual é a diferença da saída do dmesg e / var / log / messages?


55

O AFAIK dmesgmostra informações sobre o kernel e os módulos do kernel e /var/log/messagestambém mostra as informações produzidas pelo kernel e pelos módulos.

Então qual a diferença? Faz /var/log/messages saída dmesg?

Mais informações que podem ser úteis:
- Há um buffer de anel do kernel , que eu acho que é o único e único local para armazenar dados de log do kernel.
- O artigo " Criação de log do kernel: APIs e implementação " no IBM DeveloperWorks descreveu as APIs e a imagem de exibição de pássaro.

Respostas:


51

dmesgimprime o conteúdo do buffer do anel. Essas informações também são enviadas em tempo real para syslogdou klogd, quando estão em execução, e terminam em /var/log/messages; quando dmesgé mais útil é capturar mensagens em tempo de inicialização de antes syslogde / ou klogdiniciadas, para que elas sejam registradas corretamente.


4
Então, /var/log/messagese dmesgmostrará os mesmos logs (em formato diferente) após syslogde / ou klogdiniciado?
Xanpeng 6/04/12

10
Após a klogdexecução, dmesgmostrará apenas as mensagens mais recentes do kernel (porque o buffer do anel é de tamanho fixo e, portanto, pode conter muito), sem registros de data e hora ou outras informações, enquanto /var/log/messagesreterá os logs de acordo com como logrotateestá configurado e inclui registro de data e hora (que será um pouco impreciso para as mensagens de inicialização iniciais porque dmesgnão as possui, portanto, o tempo klogdiniciado é usado para todas as mensagens lidas no buffer do kernel).
Geekosaur #

6
O @xanpeng dmesgcontém apenas mensagens do kernel, /var/log/messagesgeralmente também contém logs de aplicativos.
Gilles 'SO- stop be evil'

14

Isso depende do sistema operacional. Por exemplo, no Solaris, o dmesg é simplesmente um script de shell que mostra as últimas 200 linhas dos /var/adm/messages.*arquivos.


11
Também é colorido?
Hi-Angel

@ Hi-Angel Sem pós-processamento do arquivo de log, portanto não há coloração cat ... | tail -200.
Jlliagre

6
  • Podemos dizer que esse dmesgé o subconjunto /var/log/messagese é mantido no buffer de anel.
  • /var/log/messagesinclui todas as mensagens do sistema, incluindo a inicialização do sistema e as mensagens dmesg. Em poucas palavras, os logs dmesgsão despejados /var/log/messages.
  • /var/log/messagesmantenha os logs gerais de atividades do sistema e dmesgmantenha apenas os logs do kernel.

2

dmesg : dmesg é uma mensagem (tela ou driver). É usado para examinar ou controlar o buffer de anel do kernel.

mensagens : contém mensagens globais do sistema, incluindo as mensagens registradas durante a inicialização do sistema. Há várias coisas que estão conectadas, /var/log/messagesincluindo mail, cron, daemon, kern, auth, etc.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.