diff --git a/doc/src/sgml/runtime.sgml b/doc/src/sgml/runtime.sgml index c5c2de00e2f..3645d4c5a92 100644 --- a/doc/src/sgml/runtime.sgml +++ b/doc/src/sgml/runtime.sgml @@ -1258,9 +1258,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. @@ -1287,6 +1288,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.