O que é o kernel panic?


52

Acabei de concluir um curso de SO. Eu ouvi muito a frase " kernel panic " . Você pode explicar

  1. O que é um pânico no kernel?
  2. Por que isso ocorre?
  3. Como posso descobrir que ocorreu um pânico no kernel?
  4. Que efeito isso tem no sistema?
  5. Isso ocorre apenas no Linux?
  6. Como posso evitar isso?

O pânico do kernel faz parte de uma mensagem de erro no macs. se dizer do "pânico que estão pendurados aqui" (um palpite é que ele pode ser parte de unix.)
Alvar

21
Se você estava fazendo um curso de SO, por que não pediu aos seus professores que explicassem a terminologia que estavam usando? Você teria muito mais com seus estudos.
TRiG 18/04

Respostas:


56

1 pergunta por vez, de acordo com a FAQ

  1. O que é o pânico do kernel?
    Quando o kernel não pode carregar corretamente ou "enlouquece" e falha ao inicializar corretamente ou trava (veja editar crédito na parte inferior).

  2. Por que isso ocorre?
    Atualizações hospedadas, hardware com falha, hardware não suportado, unidade ou partição com falha ou ausente (consulte editar crédito na parte inferior)

  3. Como posso entender o pânico do kernel?
    Assista aos prompts de inicialização (desative o parâmetro silencioso do kernel) OU sua máquina falha ao inicializar

  4. Que efeito isso tem no sistema?
    Falha ao inicializar ou travar o sistema

  5. Isso ocorre apenas no Linux?
    Não, todos os sistemas operacionais do tipo unix podem ter pânico no kernel. É o equivalente a uma tela azul da morte do Windows

  6. Como posso evitar isso?
    Normalmente não acontece. Teste as atualizações e solucione o problema. Use ramos estáveis ​​em vez de ramos de desenvolvimento.

Nota adicional: O pânico do kernel e a falha / desligamento do sistema podem ser diretamente responsáveis ​​por proteger seu computador contra danos físicos. Exemplos incluem parada antes de superaquecimento extremo ou corrupção de disco. Veja editar créditos na parte inferior para cotação direta.

Editar% s

Por B. Roland Discos ou volumes ausentes ou corrompidos também podem causar isso.
(Bom ponto e eu esqueci)

Per Kees O pânico do kernel também pode ocorrer durante a execução.
note: Pode acontecer quando uma função falha normalmente dentro do kernel, mas geralmente ocorre durante o carregamento do módulo ou do kernel (que geralmente ocorre durante a inicialização). Eu pensei em tocá-lo em "durante a inicialização ou a falha do sistema", mas vejo como minha resposta a (1) afirmou que isso ocorre apenas durante a inicialização.

Por citação direta de rafalcieslak - 'Há uma coisa muito importante que deve ser adicionada: O ponto principal em todo o pânico do kernel é proteger o seu computador. O kernel congela não apenas porque não conseguiu fazer algo, mas também para evitar que o computador superaqueça, corrompa os discos rígidos e quaisquer outros problemas de hardware que possam ocorrer, se algumas ordens incorretas forem executadas, de um módulo (por por exemplo, um módulo responsável por controlar o ventilador) falhou ao carregar, etc. É por isso que o kernel prefere congelar do que superar o problema. '


3
Adicionar à q # 2: falta arquivos de inicialização ... (por exemplo, quando um volume LVM está faltando.)
antivirtel

@B. Roland Adicionado e creditado
RobotHumans

agradável, graças - eu o escrevi, porque uma vez que ocorreu comigo ... (I acidentalmente formatado um volume LVM ...)
antivirtel

8
Esta resposta não está correta. Um pânico no kernel não se limita apenas a falhas de inicialização. A resposta do JanC está mais correta ("o kernel detecta um erro do qual não pode se recuperar"). Incapacidade de inicializar é apenas uma das muitas condições.
precisa

2
Há uma coisa muito importante que deve ser adicionada: O ponto principal em todo o pânico do kernel é proteger o seu computador. O kernel congela não apenas porque não conseguiu fazer algo, mas também para evitar que o computador superaqueça, corrompa os discos rígidos e quaisquer outros problemas de hardware que possam ocorrer, se algumas ordens incorretas forem executadas, de um módulo (por por exemplo, um módulo responsável por controlar o ventilador) falhou ao carregar, etc. É por isso que o kernel prefere congelar do que superar o problema.
Rafał Cieślak

31

Um pânico no kernel ocorre quando o kernel detecta um erro do qual não pode se recuperar. Uma função nomeada panic()para lidar com essa situação (geralmente despejando algumas informações de depuração e / ou reinicializando o sistema) foi introduzida pela primeira vez em uma das primeiras versões do UNIX, então é daí que o nome vem (e ainda é chamado na maioria dos UNIX- como sistemas operacionais, incluindo Mac OS X).

A famosa tela azul da morte (oficialmente chamada de erro fatal do sistema , como no VMS / OpenVMS) no kernel NT da Microsoft também é uma forma de "pânico no kernel".

Um erro do kernel do linux do qual o kernel pode (parcial ou temporariamente) se recuperar é chamado de kernel oops (você pode vê-los na dmesgsaída algumas vezes).

Os motivos para um pânico no kernel podem ser um bug no kernel (por exemplo, em um driver que faz parte do kernel) ou um problema de hardware ou software que causa uma condição inesperada / imprevisível para o kernel (por exemplo, quando é impossível iniciar o initprocessos, ou é morto).

Para descobrir o que causou isso, você pode ver se alguma coisa foi impressa na tela ou em um console serial (se você configurou um). Se estiver configurado para fazer isso, você também pode fazer com que o sistema faça um despejo de memória do kernel do linux , que salva a memória do kernel no disco em caso de pânico, para que um desenvolvedor do kernel possa analisá-lo (é claro, isso exige que ele seja necessário). capaz de gravar em um disco). Em alguns casos, /var/log/messagestambém pode ter informações úteis (por exemplo, em alguns casos, a recuperação de um oops pode levar a um erro irrecuperável posteriormente). Há algumas informações mais detalhadas aqui .


1

Eu tenho um pânico no kernel no meu sistema agora, Ubuntu 16.04. Meu computador estava reclamando que o disco de inicialização estava cheio, então eu executei o 'apt autoremove'. Ele removeu o que eu pensava serem arquivos desnecessários, e o resultado é o pânico do kernel.

Então, acho que qualquer nível de edição do disco de inicialização pode causar pânico no kernel. Portanto, não brinque com isso se você não está prestando atenção ao que está fazendo.


Isso não ajuda a resolver a questão do OP. :(
Mike Williamson

1

A resposta do @RobotHumans aborda todas as partes da sua pergunta. No entanto, gostaria de elaborar as causas do Kernel Panic.

Primeiramente, existem 2 tipos de Kernel Panic - Soft Kernel Panic (também conhecido como Oops) e (Hard Kernel Panics, também conhecido como Aieee!).

Um sistema é executado no modo de pânico do kernel rígido quando encontra uma exceção que não pode ser manipulada. Os pânicos leves do kernel são relativamente mais fáceis de lidar.

Causas do Kernel Panic

Existem várias causas, mas as mais comuns estão listadas abaixo:

  • A RAM defeituosa ou incompatível é a causa mais comum e frequente do Kernel Panic.
  • Extensões de kernel obsoletas, incompatíveis ou corrompidas
  • Drivers de kernel obsoletos, incompatíveis ou corrompidos.
  • A corrupção do disco rígido ou problemas como setores defeituosos ou corrupção de diretório também podem levar ao pânico do kernel.
  • RAM ou espaço insuficiente no disco rígido
  • Hardware defeituoso, programas mal escritos ou falhas de hardware também podem levar ao kernel Panic.

Também é importante observar que apenas os módulos localizados no espaço do kernel podem causar pânico no kernel. lsmodO comando pode ser executado para obter uma lista de módulos carregados dinamicamente.

Para solucionar problemas de pânico do kernel, verifique / var / log / messages. Às vezes, todas as informações podem ser registradas lá, enquanto outras, relacionadas ao pânico do kernel, podem ser registradas lá. Embora seja inevitável entrar em pânico no kernel, não há muito com o que se preocupar.

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.