From owner-freebsd-stable@FreeBSD.ORG Tue Apr 12 22:06:24 2005 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 7F2C016A4CE for ; Tue, 12 Apr 2005 22:06:24 +0000 (GMT) Received: from luzifer.incubus.de (incubus.de [80.237.207.83]) by mx1.FreeBSD.org (Postfix) with ESMTP id 11CD843D4C for ; Tue, 12 Apr 2005 22:06:24 +0000 (GMT) (envelope-from mkb@mkbuelow.net) Received: from drjekyll.mkbuelow.net (pD9542FFB.dip.t-dialin.net [217.84.47.251]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by luzifer.incubus.de (Postfix) with ESMTP id 8EDC533A01; Wed, 13 Apr 2005 00:06:18 +0200 (CEST) Received: from drjekyll.mkbuelow.net (mkb@localhost.mkbuelow.net [127.0.0.1]) by drjekyll.mkbuelow.net (8.13.3/8.13.3) with ESMTP id j3CM7BE7018595; Wed, 13 Apr 2005 00:07:11 +0200 (CEST) (envelope-from mkb@drjekyll.mkbuelow.net) Message-Id: <200504122207.j3CM7BE7018595@drjekyll.mkbuelow.net> To: Nick Barnes In-Reply-To: Message from Nick Barnes <52802.1113341617@thrush.ravenbrook.com> X-Mailer: MH-E 7.82; nmh 1.0.4; GNU Emacs 21.3.1 Date: Wed, 13 Apr 2005 00:07:11 +0200 From: Matthias Buelow cc: Marc Olzheim cc: Vivek Khera cc: Dan Nelson cc: freebsd-stable@freebsd.org Subject: Re: kernel killing processes when out of swap X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 12 Apr 2005 22:06:24 -0000 Nick Barnes 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: > >b658465/4c590978f1001507?q=overcommit&rnum=14#4c590978f1001507> > >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.