OSDN Git Service

Add more information about avoiding Linux OOM killer.
authorPeter Eisentraut <peter_e@gmx.net>
Tue, 6 Mar 2007 09:54:23 +0000 (09:54 +0000)
committerPeter Eisentraut <peter_e@gmx.net>
Tue, 6 Mar 2007 09:54:23 +0000 (09:54 +0000)
by Toru SHIMOGAKI

doc/src/sgml/runtime.sgml

index 57e4692..1e2b5ad 100644 (file)
@@ -1,4 +1,4 @@
-<!-- $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>
@@ -1201,15 +1201,21 @@ Out of Memory: Killed process 12345 (postgres).
 
    <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>