Cos'è il panico del kernel?


52

Ho appena completato un corso OS. Ho sentito molto la frase " kernel panic " . Puoi spiegare

  1. Cos'è il panico del kernel?
  2. Perché succede?
  3. Come posso scoprire che si è verificato un panico nel kernel?
  4. Che effetto ha sul sistema?
  5. Si verifica solo in Linux?
  6. Come posso prevenirlo?

Il panico del kernel fa parte di un messaggio di errore sui mac. se si dice "panico stiamo appendendo qui" (si suppone che potrebbe far parte di unix.)
Alvar,

21
Se stavi facendo un corso OS, perché non hai chiesto ai tuoi docenti di spiegare la terminologia che stavano usando? Avresti ottenuto molto di più dai tuoi studi.
TRiG,

Risposte:


56

1 domanda alla volta per le FAQ

  1. Cos'è il panico del kernel?
    Quando il kernel non può caricarsi correttamente o "impazzisce" e non si avvia correttamente o si arresta in modo anomalo (vedi modifica del credito in fondo).

  2. Perché succede?
    Aggiornamenti corretti, hardware difettoso, hardware non supportato, unità o partizione guasta o mancante (vedi modifica credito in fondo)

  3. Come posso capire se si è verificato il panico nel kernel?
    Guarda i prompt di avvio (disattiva il parametro kernel silenzioso) OPPURE la tua macchina non si avvia

  4. Che effetto ha sul sistema?
    Errore di avvio o arresto anomalo del sistema

  5. Si verifica solo in Linux?
    No, tutti i sistemi operativi unix-like possono avere il panico del kernel. È l'equivalente di una schermata blu della morte di Windows

  6. Come posso prevenirlo?
    Normalmente non succede. Testare gli aggiornamenti e risolvere il problema. Utilizzare rami stabili anziché di sviluppo.

Nota aggiuntiva: il panico del kernel e l'arresto / arresto del sistema possono essere direttamente responsabili della protezione del computer da danni fisici. Gli esempi includono l'arresto prima del surriscaldamento estremo o della corruzione del disco. Vedi i crediti di modifica in basso per un preventivo diretto.

modifiche

Per B. Roland Anche dischi o volumi mancanti o danneggiati possono causare questo.
(Buon punto e l'ho trascurato)

Per Kees Il panico del kernel può anche verificarsi durante l'esecuzione.
nota: può accadere quando una funzione fallisce in modo discreto all'interno del kernel, ma molto spesso si verifica durante il caricamento del modulo o del kernel (che di solito avviene durante l'avvio). Pensavo di averlo toccato "durante l'avvio o l'arresto anomalo del sistema", ma vedo come la mia risposta a (1) affermasse che si verifica solo durante l'avvio.

Per la citazione diretta di rafalcieslak - 'C'è una cosa molto importante che deve essere aggiunta: il punto principale dell'intero panico del kernel è proteggere il tuo computer. Il kernel si blocca non solo perché non è riuscito a fare qualcosa, ma anche per impedire il surriscaldamento del computer, la corruzione dei dischi rigidi e qualsiasi altro problema hardware, che può verificarsi, se vengono eseguiti alcuni ordini errati, di un modulo (per esempio un modulo responsabile del controllo della ventola) non è riuscito a caricare, ecc. Ecco perché il kernel preferisce congelare, piuttosto che superare il problema. '


3
Aggiungi a q # 2: file di avvio mancanti (ad es. Quando manca un volume LVM) ...
antivirtel

@B. Roland Aggiunto e accreditato
RobotHumans il

bello, grazie - l'ho scritto, perché una volta è successo con me ... (ho accidentalmente formattato un volume in LVM ...)
antivirtel,

8
Questa risposta non è corretta Il panico del kernel non si limita ai soli errori di avvio. La risposta di JanC è più corretta ("il kernel rileva un errore dal quale non può recuperare"). L'impossibilità di avviare è solo una delle molte condizioni.
Kees Cook

2
C'è una cosa molto importante che deve essere aggiunta: il punto principale dell'intero panico del kernel è proteggere il tuo computer. Il kernel si blocca non solo perché non è riuscito a fare qualcosa, ma anche per impedire il surriscaldamento del computer, la corruzione dei dischi rigidi e qualsiasi altro problema hardware, che può verificarsi, se vengono eseguiti alcuni ordini errati, di un modulo (per ad esempio un modulo responsabile del controllo della ventola) non è stato caricato, ecc. Ecco perché il kernel preferisce congelare, piuttosto che superare il problema.
Rafał Cieślak,

31

Un panico del kernel si verifica quando il kernel rileva un errore dal quale non può essere ripristinato. Una funzione chiamata panic()per gestire questa situazione (spesso scaricando alcune informazioni di debug e / o riavviando il sistema) è stata introdotta per la prima volta in una delle primissime versioni di UNIX, quindi è da lì che deriva il nome (e lo si chiama ancora nella maggior parte di UNIX- come i sistemi operativi, incluso Mac OS X).

Il famoso Blue Screen Of Death (chiamato ufficialmente un errore di sistema fatale , come in VMS / OpenVMS) nel kernel NT di Microsoft è anche una forma di "panico del kernel".

Un errore del kernel linux da cui il kernel può (parzialmente o temporaneamente) recuperare si chiama oops del kernel (a volte potresti vedere quelli dmesgnell'output).

Le ragioni di un panico del kernel possono essere un bug nel kernel (ad esempio in un driver che fa parte del kernel) o un problema hardware o software che causa una condizione imprevista / imprevedibile per il kernel (ad esempio quando è impossibile avviare il initproces o viene ucciso).

Per scoprire cosa l'ha causato, puoi vedere se qualcosa è stato stampato sullo schermo o su una console seriale (se ne hai configurata una). Se è configurato per farlo, puoi anche fare in modo che il sistema esegua un dump del crash del kernel Linux , che salva la memoria del kernel su disco in caso di panico, in modo che uno sviluppatore del kernel possa analizzarlo (ovviamente, ciò richiede che sia in grado di scrivere su un disco). In alcuni casi /var/log/messagespotrebbero anche essere utili informazioni (ad esempio, in alcuni casi il recupero da un oops può portare a un errore irreversibile in seguito). Ci sono alcune informazioni più dettagliate qui .


1

Ho un panico del kernel sul mio sistema in questo momento, Ubuntu 16.04. Il mio computer si lamentava che il disco di avvio era pieno, quindi ho eseguito "apt autoremove". Ha rimosso quelli che pensavo fossero file non necessari e il risultato è il panico del kernel.

Quindi immagino che qualsiasi livello di modifica del disco di avvio possa causare un panico nel kernel. Quindi non scherzare con esso se non stai prestando attenzione a ciò che stai facendo.


Ciò non aiuta a rispondere alla domanda del PO. :(
Mike Williamson,

1

La risposta di @RobotHumans affronta tutte le parti della tua domanda. Tuttavia, vorrei elaborare le cause di Kernel Panic.

In primo luogo, ci sono 2 tipi di Kernel Panic - Soft Kernel Panic (noto anche come Oops) e (Hard Kernel Panic, noto anche come Aieee!).

Un sistema gira in modalità panico del kernel quando incontra un'eccezione che non può essere gestita. I panici del kernel soft sono relativamente più facili da gestire.

Cause del panico del kernel

Esistono diverse cause, ma le più comuni sono elencate di seguito:

  • La RAM difettosa o incompatibile è la causa più comune e frequente di Kernel Panic.
  • Estensioni del kernel obsolete, incompatibili o danneggiate
  • Driver del kernel obsoleti, incompatibili o danneggiati.
  • La corruzione del disco rigido o problemi come settori danneggiati o la corruzione della directory possono anche portare al panico del kernel.
  • RAM o spazio su disco rigido insufficiente
  • Anche hardware difettoso, programmi scritti male o guasti hardware possono portare al kernel Panic.

Questo è anche importante notare che solo i moduli che si trovano nello spazio del kernel possono causare il panico del kernel. lsmodIl comando può essere eseguito per ottenere un elenco di moduli caricati dinamicamente.

Per risolvere il panico del kernel, selezionare / var / log / messages. A volte tutte le informazioni potrebbero essere registrate lì, mentre a volte non potrebbe essere registrato nulla correlato al panico del kernel. Sebbene sia inevitabile imbattersi nel panico del kernel, non c'è molto di cui preoccuparsi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.