2009-03-09 10 views

risposta

118

Prova questo fuori:

grep -i 'killed process' /var/log/messages 
+12

FWIW, ottengo quei messaggi in syslog, o kern.log, ma non/var/log/messages – jberryman

+24

È possibile utilizzare "egrep -i - r 'kill process'/var/log/"per cercarlo anche in altri posti. – metdos

+4

@jberryman: per qualche ragione, syslog è in '/ var/log/syslog' su alcune distro e'/var/log/messages' su altri. Penso che sia Debian per il primo e Red Hat per quest'ultimo, BICBW. –

13

provare questo fuori:

grep "Killed process" /var/log/syslog 
97

provare questo modo non c'è bisogno di preoccuparsi di dove il vostro log sono

dmesg | egrep -i 'killed process' 
+1

Questo è anche utile, ma mentre sfortunatamente non riesco a spiegarlo, sto vedendo i risultati in '/ var/log/messages' che non appaiono in' dmesg'/'/ var/log/dmesg'. Potrebbe essere una sorta di errata configurazione, ma vale la pena notare che l'utilizzo di entrambi gli approcci potrebbe essere una buona idea. – kungphu

+3

Non sono sicuro del file di registro, ma l'output di dmesg proviene da un buffer circolare di dimensioni limitate. Se altre cose hanno riempito il buffer dal oom-killer, perderai l'output di oom-killer. –

+0

Questo è stato l'unico modo in cui ho trovato come vedere quel processo è stato ucciso nel contenitore OpenVZ – igo

33

lo so questo è un thread storico ma ora dstat fornisce la funzionalità per scoprire nel tuo sistema in esecuzione quale processo è candidato per essere ucciso da oom mechan ism

dstat --top-oom 
--out-of-memory--- 
    kill score 
java   77 
java   77 
java   77 

e come per pagina man

--top-oom 
      show process that will be killed by OOM the first