O que é kernel panic?

50

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

  1. O que é um kernel panic?
  2. Por que isso ocorre?
  3. Como posso descobrir que ocorreu um pânico no kernel?
  4. Qual o efeito que isso tem no sistema?
  5. Isso ocorre apenas no Linux?
  6. Como posso evitar isso?
por user 18.04.2011 / 08:55

4 respostas

55

1 pergunta por vez para as FAQ

  1. O que é kernel panic?
    Quando o kernel não pode carregar corretamente ou "freaks out" e não consegue inicializar corretamente ou falha (veja o crédito de edição na parte inferior).

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

  3. Como posso entender o pânico do kernel?
    Assistir a prompts de inicialização (desativar o parâmetro de kernel silencioso) OU sua máquina não inicializa

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

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

  6. Como posso evitar isso?
    Isso normalmente não acontece. Teste atualizações e solucione o problema. Use filiais estáveis em vez de desenvolvimento.

Nota adicional: Kernel panic e falha / desligamento do sistema podem ser diretamente responsáveis por proteger seu computador contra danos físicos. Exemplos incluem parar antes de sobreaquecimento extremo ou corrupção de disco. Veja os créditos de edição na parte inferior para cotação direta.

edições

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

Por Kees Kernel panic também pode ocorrer durante a execução.
Nota: Pode acontecer quando uma função falha facilmente dentro do kernel, mas na maioria das vezes acontece durante o carregamento do módulo ou do kernel (que geralmente é durante a inicialização). Eu pensei que eu toquei em "durante a inicialização ou travamento do sistema", mas eu vejo como a minha resposta para (1) afirmou que só ocorre durante a inicialização.

Por rafalcieslak citação direta - 'Há uma coisa muito importante que deve ser adicionada: O ponto principal no todo O kernel panic é para proteger seu computador. O kernel congela não apenas porque falhou em fazer algo, mas também para impedir que o seu computador f.e. superaquecimento, corrupção de discos rígidos e quaisquer outros problemas de hardware, que podem ocorrer, se algumas ordens incorretas forem executadas, de um módulo (por exemplo, um módulo responsável pelo controle da ventoinha) não carregou, etc. É por isso que o kernel prefere congelar, do que para superar o problema. '

    
por RobotHumans 18.04.2011 / 09:04
29

Um kernel panic acontece quando o kernel detecta um erro do qual ele não pode se recuperar. Uma função chamada 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, e é daí que vem o nome. a maioria dos sistemas operacionais semelhantes ao UNIX, incluindo o 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 "kernel panic" .

Um erro no kernel do Linux do qual o kernel pode (parcial ou temporariamente) recuperar é chamado de kernel oops (você pode ver aqueles em dmesg output algumas vezes).

Os motivos de um kernel panic 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 para iniciar o init proces, ou ele é morto).

Para descobrir o que causou, 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 o sistema fazer um despejo de memória do kernel linux , que salva a memória do kernel em disco em caso de pânico, para que um desenvolvedor de kernel possa analisá-lo (de Claro, isso exige que seja capaz de gravar em um disco). Em alguns casos, /var/log/messages també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 .

    
por JanC 18.04.2011 / 18:07
0

Eu tenho um kernel panic no meu sistema agora, Ubuntu 16.04. Meu computador estava reclamando que o disco de inicialização estava cheio, então eu corri 'apt autoremove'. Ele removeu o que eu achava que eram arquivos desnecessários, e o resultado é o kernel panic.

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

    
por A. Bergeron 15.09.2017 / 18:12
0

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 entra em modo kernel panic quando encontra uma exceção que não pode ser manipulada. Pânico no kernel é relativamente mais fácil de lidar.

Causas do pânico do kernel

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

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

Isso também é importante notar que apenas módulos que estão localizados dentro do espaço do kernel podem causar pânico no kernel. O comando lsmod pode ser executado para obter uma lista de módulos carregados dinamicamente.

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

    
por Ayush Goyal 19.05.2018 / 13:17

Tags