Perché Debian si arresta in modo anomalo con OOM


1

Di recente ho aggiornato il mio server da Debian Squeeze i386 a wheezy amd64 reinstallando e riconfigurando. Inoltre volevo essere in grado di avviare guest virtuali, quindi ho installato anche XEN.

Ho avuto poi il problema che di tanto in tanto il killer OOM distruggeva più processi sul mio Dom0. Ho quindi riavviato e disabilitato diversi servizi (come apache2, mysql, postgresql, ...). Ora sembra che nessun processo sia più distrutto (incerto, in quanto non avviene regolarmente ma in modo stocastico). MA: se metto un po 'di carico sulla macchina (accesso al filesystem crittografato), il killer OOM viene attivato.

Purtroppo il sistema non è più utilizzabile dopo che si è verificato il problema. Quindi non posso accedere tramite SSH per indagare. Anche un'indagine fisica tramite console si blocca la maggior parte delle volte.

Ho un atopdemone in esecuzione ogni minuto in modo da poter vedere la memoria e scambiare i consigli prima dello schianto: la RAM è 1 GB (880 MB) in totale (allocata stabilmente a Dom0, senza mongolfiere) dove aprox. 440 MB sono cache. Alcuni MB sono buffer e circa 20 MB sono gratuiti. Lo swap è di 25GiB in totale e completamente gratuito.

Cosa non capisco: perché il kernel non uccide parte della cache se è necessaria più RAM. È cache, quindi tutto ciò che potrebbe accadere è un problema di prestazioni ma il sistema rimarrebbe stabile. In questo modo il sistema si arresta in modo anomalo. Inoltre, perché le sezioni di memoria non necessarie utilizzate da altri programmi non vengono scambiate? Ci dovrebbe essere abbastanza spazio per fare quello che vuoi.

Qualche volta ho visto un messaggio sulla console che un'attività (jbod / raid5 o qualcosa di simile) stava bloccando (?) Per più di 120 secondi. Non sono sicuro che questa sia la causa o l'impatto del problema OOM.

Ora le mie domande sono:

  • Potrebbe essere un problema XEN?
  • Potrebbe essere un problema hardware? RAM o HD?
  • Cosa posso fare per evitare arresti anomali futuri?

Modifica: ho appena provato a riprodurre l'errore. Si è arrestato in modo anomalo ma questa volta (non esattamente ora se ci fossero altri errori in altre situazioni) il programma bloccato era xenwatch. Quindi nessun programma accede all'HD.


2
JBOD e RAID5 sono entrambi correlati allo storage. Potrebbe essere che l'archiviazione stia morendo (controller o disco / i), il sistema lo rilevi e quindi non utilizzerà lo swap anche se dovrebbe essere disponibile? Il timeout dello storage non è mai un buon segno.
un CVn

In totale ci sono 4 GB e voglio la possibilità di aggiornare.
Christian Wolf,

@ MichaelKjörling Ho 3 dispositivi Soft-RAID: root, un PVS (entrambi su 3 dischi) e un backup su 2 dischi. Lo Swap NON è sotto LVM ma una partizione fisica sui 3 dischi principali. Ho avuto un problema con uno dei due dischi di backup. Quindi immaginai che fosse questo a causare i problemi. Esiste la possibilità di dire che la memoria è morta?
Christian Wolf,

Controlla le informazioni SMART per le tue unitàsudo smartctl -a /dev/sdX
terdon

@terdon Cerchi cosa? Qualche errore? Esistono ma su dischi che non fanno parte di alcun RAID. Solo il backup. (vedi modifica nella domanda principale)
Christian Wolf,
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.