diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 49e09a88480..4964de394f4 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1309,9 +1309,10 @@ default:\ In Linux 2.4 and later, the default virtual memory behavior is not optimal for PostgreSQL. Because of the way that the kernel implements memory overcommit, the kernel might - terminate the PostgreSQL server (the - master server process) if the memory demands of - another process cause the system to run out of virtual memory. + terminate the PostgreSQL postmaster (the + master server process) if the memory demands of either + PostgreSQL or another process cause the + system to run out of virtual memory. @@ -1338,6 +1339,19 @@ Out of Memory: Killed process 12345 (postgres). swap space are exhausted. + + If PostgreSQL itself is the cause of the + system running out of memory, you can avoid the problem by changing + your configuration. In some cases, it may help to lower memory-related + configuration parameters, particularly + shared_buffers + and work_mem. In + other cases, the problem may be caused by allowing too many connections + to the database server itself. In many cases, it may be better to reduce + max_connections + and instead make use of external connection-pooling software. + + On Linux 2.6 and later, it is possible to modify the kernel's behavior so that it will not overcommit memory.