Craig Ringer <craig@postnewspapers.com.au> writes:
> Note that it's not very likely that PostgreSQL was the process that used
> up all your memory. It was just unlucky enough to be picked as the one
> to be killed, because the OOM killer is terrible at estimating which
> process is using the most memory when programs like PostgreSQL have
> allocated large blocks of shared memory.
It's worse than that: the OOM killer is broken by design, because it
intentionally picks on processes that have a lot of large children
--- without reference to the fact that a lot of the "largeness" might
be the same shared memory block. So the postmaster process very often
looks like a good target to it, even though killing the postmaster will
in fact free a negligible amount of memory.
regards, tom lane