Index: doc/src/sgml/runtime.sgml =================================================================== RCS file: /var/lib/cvs/pgsql-server/doc/src/sgml/runtime.sgml,v retrieving revision 1.218 diff -c -r1.218 runtime.sgml *** doc/src/sgml/runtime.sgml 14 Nov 2003 15:43:22 -0000 1.218 --- doc/src/sgml/runtime.sgml 16 Nov 2003 02:07:42 -0000 *************** *** 1294,1300 **** Unfortunately, there is no well-defined method for determining ideal values for the family of cost variables that ! below. You are encouraged to experiment and share your findings. --- 1294,1300 ---- Unfortunately, there is no well-defined method for determining ideal values for the family of cost variables that ! appear below. You are encouraged to experiment and share your findings. *************** *** 3267,3301 **** Linux Memory Overcommit ! Linux kernels of version 2.4.* have a poor default memory ! overcommit behavior, which can result in the PostgreSQL server ! (postmaster process) being killed by the ! kernel if the memory demands of another process cause the system ! to run out of memory. ! If this happens, you will see a kernel message looking like this ! (consult your system documentation and configuration on where to ! look for such a message): Out of Memory: Killed process 12345 (postmaster). ! And, of course, you will find that your database server has ! disappeared. To avoid this situation, run PostgreSQL on a machine where you can be sure that other processes will not run the machine out of memory. If your kernel supports the strict ! and/or paranoid modes of overcommit handling, you can also relieve ! this problem by altering the system's default behaviour. This can ! be determined by examining the function ! vm_enough_memory in the file mm/mmap.c ! in the kernel source. If this file reveals that the strict and/or ! paranoid modes are supported by your kernel, turn one of these ! modes on by using sysctl -w vm.overcommit_memory=2 --- 3267,3302 ---- Linux Memory Overcommit ! In Linux 2.4, the default virtual memory configuration is not ! optimal for PostgreSQL. Because of the ! way that the kernel implements memory overcommit, the kernel may ! terminate the PostgreSQL server (the ! postmaster process) if the memory demands of ! another process cause the system to run out of virtual memory. ! If this happens, you will see a kernel message that looks like ! this (consult your system documentation and configuration on where ! to look for such a message): Out of Memory: Killed process 12345 (postmaster). ! This indicates that the postmaster process ! has been terminated due to memory pressure; ! PostgreSQL will need to be restarted. To avoid this situation, run PostgreSQL on a machine where you can be sure that other processes will not run the machine out of memory. If your kernel supports the strict ! paranoid modes of overcommit handling, you can also relieve this ! problem by altering the system's default behaviour. This can be ! determined by examining the function vm_enough_memory ! in the file mm/mmap.c in the kernel source. If this ! file reveals that the strict or paranoid modes are supported by ! your kernel, turn one of these modes on by using sysctl -w vm.overcommit_memory=2 *************** *** 3304,3315 **** sysctl -w vm.overcommit_memory=3 for paranoid mode, or placing an equivalent entry in ! /etc/sysctl.conf. ! Using these settings in a kernel which does not support these modes will almost certainly increase the danger of the kernel killing the database server, rather than reducing it. If in any doubt, consult a kernel expert or your kernel vendor. --- 3305,3320 ---- sysctl -w vm.overcommit_memory=3 for paranoid mode, or placing an equivalent entry in ! /etc/sysctl.conf. For more information on memory ! overcommit handling and the meaning of these kernel settings, ! consult the file ! Documentation/vm/overcommit-accounting in a ! recent version of the source code for the Linux kernel. ! Using these settings with a kernel which does not support these modes will almost certainly increase the danger of the kernel killing the database server, rather than reducing it. If in any doubt, consult a kernel expert or your kernel vendor. *************** *** 3317,3331 **** ! These modes are expected to be supported in all 2.6 and later ! kernels. Some vendor 2.4 kernels may also support these modes. It ! is, however, known that some vendor documents suggest that they ! support them while examination of the kernel source reveals that ! they do not. ! ! ! ! Note, you will need enough swap space to cover all your memory needs. --- 3322,3333 ---- ! The method described above for changing the kernel's overcommit ! behavior should work with Linux kernel 2.6 and later. In addition, ! some versions of the 2.4 kernel distributed by some vendors may ! also support this functionality. However, it is known that some ! vendor documents suggest that they support them while examination ! of the kernel source reveals that they do not.