diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index 36982b748a4..a47c998524d 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1203,8 +1203,9 @@ default:\ optimal for PostgreSQL. Because of the way that the kernel implements memory overcommit, the kernel might terminate the PostgreSQL postmaster (the - master server process) if the memory demands of - another process cause the system to run out of virtual memory. + master server process) if the memory demands of either + PostgreSQL or another process cause the + system to run out of virtual memory. @@ -1231,6 +1232,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.