Explique a saída do dmesg

4

Eu estou rodando um sistema Debian, e achei a saída do comando dmesg muito útil.

Alguém pode me explicar que informações são geradas pelo comando dmesg? É uma correlação 1: 1 com as mensagens kern. * No syslog?

    
por Brent 12.06.2009 / 16:18

4 respostas

5

Tecnicamente falando, o dmesg imprime o buffer de anel do kernel para a saída padrão.

Eu não sei por que eles chamam de buffer de anel, mas é basicamente um buffer de log. Todas as mensagens de inicialização do kernel são gravadas lá. Se você estiver executando o syslog, todas ou a maioria dessas mensagens provavelmente também serão gravadas nela. No entanto, o comando dmesg é separado do syslog. Faz parte dos utilitários linux, e você pode usá-lo mesmo se não tiver syslog.

O dmesg também pode ser usado para limpar o buffer de anel e também para alterar o nível no qual os erros aparecem no console. Às vezes, dependendo da gravidade de uma mensagem, ela será enviada para todos os consoles, além do buffer de anel. Um bom exemplo disso é uma mensagem de desligamento. dmesg -n levelnumber permite que você altere o nível de gravidade que uma mensagem deve ter para ser enviada aos consoles além do buffer.

    
por 12.06.2009 / 16:27
2

Citando a página de manual:

   dmesg is used to examine or control the kernel ring buffer.

Muitas dessas mensagens vão para o syslog também, mas não para todas. Além disso, o syslog não está disponível até tarde (r) no processo de inicialização.

    
por 12.06.2009 / 16:23
2

Como foi dito, o dmesg permite que você descarregue o buffer de anel do kernel ou controle-o. Normalmente, você receberá mensagens de inicialização, mas um servidor que está ativo há algum tempo e teve mensagens de kernel com bate-papo provavelmente terá as mensagens de inicialização sobrescritas. A maioria das distros executará o dmesg em um script de inicialização para despejar as mensagens de inicialização em um arquivo de log - geralmente / var / log / dmesg.

O buffer de anel do kernel tende a aparecer quando você tem um kernel panic e um crash dump para olhar. Uma das primeiras coisas que você provavelmente verá é o conteúdo do buffer de toque, o que, esperamos, lhe dará um indicador do que deu errado. Quando você entra em pânico, o kernel provavelmente não terá a chance de passar essa mensagem para o syslog, então o despejo de memória será o único lugar onde você poderá vê-la.

    
por 12.06.2009 / 17:00
0

O Dmesg imprime ou controla o buffer de anel do kernel. O programa ajuda os usuários a imprimir suas mensagens de inicialização.

    
por 12.06.2009 / 16:27