What really kills [:-)] me is that they allocate memory assuming I will
not be using it all, then terminate the executable in an unrecoverable
way when I go to use the memory.
And, they make a judgement on users who don't want this by calling them
"paranoid".
I will add something to the docs about this.
---------------------------------------------------------------------------
Tom Lane wrote:
> Jon Lapham <lapham@extracta.com.br> writes:
> > Just curious. What would a rationally designed OS do in an out of
> > memory situation?
>
> Fail malloc() requests.
>
> The sysctl docs that Andrew Dunstan just provided give some insight into
> the problem: the default behavior of Linux is to promise more virtual
> memory than it can actually deliver. That is, it allows malloc to
> succeed even when it's not going to be able to actually provide the
> address space when push comes to shove. When called to stand and
> deliver, the kernel has no way to report failure (other than perhaps a
> software-induced SIGSEGV, which would hardly be an improvement). So it
> kills the process instead. Unfortunately, the process that happens to
> be in the line of fire at this point could be any process, not only the
> one that made unreasonable memory demands.
>
> This is perhaps an okay behavior for desktop systems being run by
> people who are accustomed to Microsoft-like reliability. But to make it
> the default is brain-dead, and to make it the only available behavior
> (as seems to have been true until very recently) defies belief. The
> setting now called "paranoid overcommit" is IMHO the *only* acceptable
> one for any sort of server system. With anything else, you risk having
> critical userspace daemons killed through no fault of their own.
>
> regards, tom lane
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://archives.postgresql.org
>
-- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610)
359-1001+ If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square,
Pennsylvania19073