GNU/Linux >> Linux Esercitazione >  >> Linux

Kernel Panic non esegue il dump dei file di registro

Per essere sicuro che la tua macchina generi un file "core" quando si verifica un errore del kernel, dovresti confermare le impostazioni "sysctl" della tua macchina.

IMO, le seguenti dovrebbero essere le impostazioni (minime) in /etc/sysctl.conf :

kernel.core_pattern = /var/crash/core.%t.%p
kernel.panic=10
kernel.unknown_nmi_panic=1

Esegui sysctl -p dopo aver apportato modifiche al /etc/sysctl.conf file. Probabilmente dovresti anche mkdir /var/crash se non esiste già.

Puoi testare quanto sopra generando un dump manuale usando SysRq key (la combinazione di tasti per scaricare core è Alt +SysRq +C ).


Quando il kernel va in panico, significa che qualcosa è andato storto nel kernel. La scrittura di file di registro e core dump richiede l'utilizzo dei driver per il dispositivo di archiviazione a blocchi (il tuo disco) e il filesystem (lo spazio deve essere allocato e la dimensione del file di registro deve essere aggiornata). Dato che quei servizi forniti dal kernel sono richiesti per scrivere file, e il kernel sa di essere in uno stato non funzionante, non può scrivere i file o registrare nulla, perché non è più in uno stato sicuro, così facendo qualsiasi operazione potrebbe peggiorare le cose e potrebbe danneggiare/distruggere il tuo filesystem. Quindi non puoi fare in modo che il kernel scriva nel log né esegui il dump di un core dump quando va in panico.

Ora quello che puoi fare, se vuoi, è configurare il sistema con un kernel per la gestione dei crash, che è un secondo kernel caricato in memoria a cui può essere trasferito il controllo se il kernel principale va in crash. Poiché quel kernel ha driver e simili, sarebbe in grado di salvare un crash dump per te. Questa non è una configurazione molto comune, tuttavia, e viene utilizzata principalmente per sistemi di fascia alta che richiedono un'elevata disponibilità e in cui un arresto anomalo è un problema molto serio che deve essere esaminato.

Vedi ad esempio l'opzione crashkernel su Kernel Crash Dump su ubuntu.com. (Nota che questa pagina dice che il meccanismo di crash dump del kernel è abilitato per impostazione predefinita, a partire da Ubuntu 16.04.)

Credo che il sistema in realtà salvi il dump in un pezzo di memoria riservato e poi si riavvii, e il kernel salva la memoria riservata su disco all'avvio successivo (poiché il kernel appena avviato è in uno stato sano e può farlo).


Linux
  1. Panico del kernel durante l'aggiornamento a 10.10?

  2. File di registro di Linux

  3. Come utilizzare Logrotate per gestire i file di registro

  4. 20 File di registro Linux che si trovano nella directory /var/log

  5. Linux Kernel.org fuorviante sul kernel panic

Creazione e debug dei file di dump di Linux

Cosa fare in caso di panico del kernel Linux

Panico al kernel dopo l'aggiornamento a 4.4.0-108 generico?

Registrazione Python:controlla la posizione dei file di registro?

Rimuovi i file di registro usando cron job

Elimina i file con logrotate