GNU/Linux >> Linux Esercitazione >  >> Cent OS

Cosa sono i messaggi "segfault" nel file /var/log/messages

Questo post spiega come analizzare il messaggio segfault nel file di messaggio e identificare il problema nell'applicazione o nel sistema operativo.

Cos'è il "segfault"?

Un errore di segmentazione (spesso abbreviato in segfault) o una violazione di accesso è un errore generato dall'hardware con protezione della memoria, per notificare al sistema operativo (OS) una violazione di accesso alla memoria. Il kernel Linux risponderà eseguendo alcune azioni correttive, generalmente passando l'errore al processo incriminato inviando al processo un segnale come #11. I processi possono in alcuni casi installare un gestore di segnali personalizzato, consentendo loro di ripristinarsi da soli, ma in caso contrario viene utilizzato il gestore di segnali predefinito di Linux. Il segfault in genere provoca l'interruzione del processo e genera un core dump con la corretta configurazione di ulimit.

Come controllare?

1. Indica segfault

Un segfault in genere indica solo un errore in un particolare processo o programma. Non significa un errore del kernel Linux. Il kernel rileva semplicemente l'errore del processo o del programma e (su alcune architetture) stampa le informazioni nel registro come di seguito:

00

2. Cosa significa dettaglia questo messaggio?

Il valore RIP è il valore del registro del puntatore dell'istruzione, l'RSP è il valore del registro del puntatore dello stack. Il valore dell'errore è una maschera di bit dei bit del codice di errore di errore di pagina (da arch/x86/mm/fault.c):

19

Ecco la definizione del bit di errore:

27

Il codice di errore 15 è 1111 bit. Infine, possiamo conoscere il significato di 1111 come segue:

31

Questo messaggio indica che l'applicazione attiva un errore di protezione perché quel processo ha tentato di accedere in scrittura a una sezione riservata della memoria in modalità utente.


Cent OS
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Differenza tra /var/log/messages, /var/log/syslog e /var/log/kern.log?

  3. Come modificare l'autorizzazione predefinita di /var/log/messages in CentOS/RHEL

  4. Registro di controllo e file dei messaggi che non ruotano su CentOS/RHEL

  5. /var/log/messages è vuoto, così come i file di registro ruotati come messaggi.0, messaggi.1

I messaggi Auditd si stanno riempiendo /var/log/messages

fprintd Registra i messaggi in /var/log/messages Anche se USEFPRINTD=no in /etc/sysconfig/authconfig (CentOS/RHEL 7)

La modifica del nome host non si riflette in /var/log/messages per CentOS/RHEL

CentOS / RHEL:come ruotare i file /var/log/wtmp e /var/log/btmp usando logrotate

unix:///var/run/supervisor.sock nessun file di questo tipo

logrotate non comprime /var/log/messages