The OOM killer is a terrible idea for any serious database server.  I wrote a 
detailed technical paper on this almost 15 years ago when Silicon Graphics had 
this same feature, and Oracle and other critical server processes couldn't be 
made reliable.

The problem with "overallocating memory" as Linux does by default is that EVERY 
application, no matter how well designed and written, becomes unreliable: It can be 
killed because of some OTHER process.  You can be as clever as you like, and do all the 
QA possible, and demonstrate that there isn't a single bug in Postgres, and it will STILL 
be unreliable if you run it on a Linux system that allows overcommitted memory.

IMHO, all Postgres servers should run with memory-overcommit disabled.  On 
Linux, that means  /proc/sys/vm/overcommit_memory=2.

Craig

--
Sent via pgsql-performance mailing list (pgsql-performance@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-performance

Reply via email to