Come diagnosticare le cause dei processi di uccisione dei killer


9

Ho un piccolo server privato virtuale con CentOS e www / mail / db, che di recente ha avuto un paio di incidenti in cui il server web e ssh non hanno risposto.

Guardando i registri, ho visto che Oom-Killer aveva ucciso questi processi, probabilmente a causa dell'esaurimento della memoria e dello scambio.

Qualcuno può darmi alcuni suggerimenti su come diagnosticare ciò che potrebbe aver causato l'incidente più recente? È probabile che il primo processo sia stato ucciso? Dove altro dovrei cercare?

Risposte:


11

No, l'algoritmo non è così semplicistico. Puoi trovare maggiori informazioni in:

http://linux-mm.org/OOM_Killer

Se vuoi tenere traccia dell'utilizzo della memoria, ti consiglio di eseguire un comando come:

ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head

Ti fornirà un elenco dei processi che utilizzano più memoria (e probabilmente causano la situazione OOM). Rimuovi | headse preferisci controllare tutti i processi.

Se lo metti sul tuo cron, ripeti ogni 5 minuti e salvalo in un file. Tieni almeno un paio di giorni, in modo da poter controllare cosa è successo in seguito.

Per servizi critici come ssh, consiglierei di usare monit per riavviarli automaticamente in una situazione del genere. Potrebbe non perdere l'accesso alla macchina se non si dispone di una console remota.

Buona fortuna,
João Miguel Neves


Grazie - finalmente riesco a provare questo dopo un paio di altri episodi di killer di Oom che hanno messo in ginocchio il mio server. È necessario rintracciare la causa.
Dunxd,

6

Di recente ho avuto dei problemi, perché il processo (i) su cui l'assassino dell'omicida non è necessariamente quello che è andato storto. Mentre cercavo di diagnosticare questo, ho appreso uno dei miei strumenti ora preferiti, in cima.

Questa utility è come un top sugli steroidi. In un intervallo di tempo preimpostato, profila le informazioni di sistema. È quindi possibile riprodurlo per vedere cosa sta succedendo. Evidenzia i processi che sono 80% + in blu e 90% + in rosso. La vista più utile è una tabella di utilizzo della memoria della quantità di memoria allocata nell'ultimo periodo di tempo. Questo è quello che mi ha aiutato di più.

Strumento fantastico - non posso che elogiarlo.

in cima al monitor delle prestazioni



1

OOM sta solo uccidendo il processo che utilizza più memoria in quel momento. Non necessariamente il processo che ha superato il limite o ha aumentato la chiamata OOm.
Anche Linux è rilassato con la sua allocazione di memoria. AKA se il tuo processo ha bisogno di 5 GB ma sta usando solo 3, Linux lascerà che un altro processo usi il 2 che non sta usando. prestazioni> affidabilità. quindi quando p1 ha bisogno del suo pieno 5 non può ottenerlo

Non un esperto. mi occupo solo di questo e di quello che ho trovato

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.