-<!-- $PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.378 2007/02/16 16:37:29 tgl Exp $ -->
+<!-- $PostgreSQL: pgsql/doc/src/sgml/runtime.sgml,v 1.379 2007/03/06 09:54:23 petere Exp $ -->
<chapter Id="runtime">
<title>Operating System Environment</title>
<para>
One way to avoid this problem is to run
- <productname>PostgreSQL</productname>
- on a machine where you can be sure that other processes will not
- run the machine out of memory.
+ <productname>PostgreSQL</productname> on a machine where you can
+ be sure that other processes will not run the machine out of
+ memory. If memory is tight, increasing the swap space of the
+ operating system can help avoiding the problem, because the
+ out-of-memory (OOM) killer is invoked whenever physical memory and
+ swap space are exhausted.
</para>
<para>
- On Linux 2.6 and later, a better solution is to modify the kernel's
- behavior so that it will not <quote>overcommit</> memory. This is
- done by selecting strict overcommit mode via <command>sysctl</command>:
+ On Linux 2.6 and later, an additional measure is to modify the
+ kernel's behavior so that it will not <quote>overcommit</> memory.
+ Although this setting will not prevent the OOM killer from
+ invoking altogether, it will lower the chances significantly and
+ will therefore lead to more robust system behavior. This is done
+ by selecting strict overcommit mode via <command>sysctl</command>:
<programlisting>
sysctl -w vm.overcommit_memory=2
</programlisting>