From f12f220e5adeed86666120df0e215917912cd911 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 6 Mar 2007 09:54:23 +0000 Subject: [PATCH] Add more information about avoiding Linux OOM killer. by Toru SHIMOGAKI --- doc/src/sgml/runtime.sgml | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 57e4692710..1e2b5adb30 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1,4 +1,4 @@ - + Operating System Environment @@ -1201,15 +1201,21 @@ Out of Memory: Killed process 12345 (postgres). One way to avoid this problem is to run - PostgreSQL - on a machine where you can be sure that other processes will not - run the machine out of memory. + PostgreSQL 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. - On Linux 2.6 and later, a better solution is to modify the kernel's - behavior so that it will not overcommit memory. This is - done by selecting strict overcommit mode via sysctl: + On Linux 2.6 and later, an additional measure is to modify the + kernel's behavior so that it will not 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 sysctl: sysctl -w vm.overcommit_memory=2 -- 2.40.0