Re: doc patch - linux memory handling

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Andrew Dunstan <andrew(at)dunslane(dot)net>
Cc: "Patches (PostgreSQL)" <pgsql-patches(at)postgresql(dot)org>
Subject: Re: doc patch - linux memory handling
Date: 2003-09-05 02:54:14
Message-ID: 200309050254.h852sES21061@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-patches


Patch applied. Thanks.

---------------------------------------------------------------------------

Andrew Dunstan wrote:
>
> It appears we are back in the "you need a non-empty password" mode.
>
> Anyway, here's the revised patch.
>
> andrew
>
>
> Andrew Dunstan wrote:
>
> >
> > I didn't find a single instance of a <warning> tag in the doc sources.
> > I did find a warning in an unadorned para, in func.sgml.
> >
> > Anyway, I made the changes (using <note>) but anoncvs is now refusing
> > my login attempt, so I can't do the diff.
> >
> > I've spent way too much time on this already - really my only concern
> > was that the docs would give people info that would make things worse
> > rather than better, and nobody else was doing anything about it.
> >
> > cheers
> >
> > andrew
> >
>

> Index: doc/src/sgml/runtime.sgml
> ===================================================================
> RCS file: /projects/cvsroot/pgsql-server/doc/src/sgml/runtime.sgml,v
> retrieving revision 1.200
> diff -c -w -r1.200 runtime.sgml
> *** doc/src/sgml/runtime.sgml 17 Aug 2003 22:19:10 -0000 1.200
> --- doc/src/sgml/runtime.sgml 22 Aug 2003 16:14:47 -0000
> ***************
> *** 3068,3081 ****
> </para>
>
> <para>
> ! Linux has poor default memory overcommit behavior. Rather than
> ! failing if it can not reserve enough memory, it returns success,
> ! but later fails when the memory can't be mapped and terminates
> ! the application with <literal>kill -9</>. To prevent unpredictable
> ! process termination, use:
> <programlisting>
> sysctl -w vm.overcommit_memory=3
> </programlisting>
> Note, you will need enough swap space to cover all your memory needs.
> </para>
> </listitem>
> --- 3068,3128 ----
> </para>
>
> <para>
> ! Linux kernel version 2.4.* has poor default memory overcommit
> ! behavior, which can result in the postmaster being killed by the
> ! kernel due to memory demands by another process if the system
> ! runs out of memory.
> ! </para>
> !
> ! <para>
> ! The symptom of this occuring is a kernel message looking like
> ! this (consult your system documentation and configuration on
> ! where to look for such a message):
> ! <programlisting>
> ! Out of Memory: Killed process 12345 (postmaster).
> ! </programlisting>
> ! </para>
> !
> ! <para>
> ! To avoid this situation, run <productname>PostgreSQL</productname>
> ! on a machine where you
> ! can be sure that other processes will not run the machine out
> ! of memory. If your kernel supports 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 <function>vm_enough_memory</>
> ! in the file <filename>mm/mmap.c</>in the kernel source.
> ! If this file reveals that strict and/or paranoid modes are
> ! supported by your kernel, turn one of these modes on by using
> ! <programlisting>
> ! sysctl -w vm.overcommit_memory=2
> ! </programlisting>
> ! for strict mode or
> <programlisting>
> sysctl -w vm.overcommit_memory=3
> </programlisting>
> + for paranoid mode, or placing an equivalent entry in
> + <filename>/etc/sysctl.conf</>.
> + </para>
> +
> + <note>
> + <para>
> + Warning: using these settings in a kernel which does not support
> + these modes will almost certainly increase the danger of the
> + kernel killing the postmaster, rather than reducing it.
> + If in any doubt, consult a kernel expert or your kernel vendor.
> + </para>
> + </note>
> +
> + <para>
> + These modes are expected to be supported in all 2.6 and later
> + kernels. Some vendor 2.4 kernels may also support these modes.
> + However, it is known that some vendor documents suggest that
> + they support them while examination of the kernel source reveals
> + that they do not.
> + </para>
> +
> + <para>
> Note, you will need enough swap space to cover all your memory needs.
> </para>
> </listitem>

>
> ---------------------------(end of broadcast)---------------------------
> TIP 7: don't forget to increase your free space map settings

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-patches by date

  From Date Subject
Next Message Neil Conway 2003-09-05 03:12:08 fix doc typo
Previous Message Bruce Momjian 2003-09-05 02:31:01 Re: postgresql-7.4b1 Native-Windows patch