kernel killing processes when out of swap

Matthias Buelow mkb at mkbuelow.net
Tue Apr 12 15:06:24 PDT 2005


Nick Barnes <Nick.Barnes at pobox.com> writes:

>> This stuff has been discussed in the past.
>Indeed. For a couple of examples from the days before BSD systems got
>overcommit, see these threads from 1990 and 1991:
>
><http://groups-beta.google.com/group/comp.unix.aix/browse_frm/thread/91541dbf6
>b658465/4c590978f1001507?q=overcommit&rnum=14#4c590978f1001507>
>
><http://groups-beta.google.com/group/comp.unix.aix/browse_frm/thread/38c9bb999
>6d30eb1/e8c30f78c44a3f62?q=overcommit&rnum=12#e8c30f78c44a3f62>

Apparently, it can be turned off on AIX, quoting from
http://tinyurl.com/4epc8:

``If the PSALLOC environment variable is set to early, then every
program started in that environment from that point on, but not
including currently running processes, runs in the early allocation
environment. In the early allocation environment, interfaces such as the
malloc subroutine and the brk subroutine will fail if sufficient paging
space cannot be reserved when the request is made.
Processes run in the early allocation environment mode are not sent the
SIGKILL signal if a low paging space condition occur.''

Googling showed that on Linux 2.6, overcommit can be disabled globally
through the vm.overcommit_memory sysctl.

I hope that some day some mechanism to solve that problem will be
available in FreeBSD aswell.

mkb.


More information about the freebsd-stable mailing list