提交 f12f220e 编写于 作者: P Peter Eisentraut

Add more information about avoiding Linux OOM killer.

by Toru SHIMOGAKI
上级 a535cdf1
<!-- $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>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册