When Linux runs out of memory (OOM), the OOM killer chooses a process to kill based on some heuristics (it's an interesting read: http://lwn.net/Articles/317814/).
How can one programmatically determine which processes have recently been killed by the OOM killer?
Try this out:
grep -i 'killed process' /var/log/messages
Try this so you don't need to worry about where your logs are
dmesg | egrep -i 'killed process'
Now dstat provides the feature to find out in your running system which process is candidate for getting killed by oom mechanism
dstat --top-oom
--out-of-memory---
kill score
java 77
java 77
java 77
and as per man page
--top-oom
show process that will be killed by OOM the first
Try this out:
grep "Killed process" /var/log/syslog