From owner-freebsd-current@FreeBSD.ORG Fri Aug 24 16:12:53 2012 Return-Path: Delivered-To: current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id E60731065670; Fri, 24 Aug 2012 16:12:53 +0000 (UTC) (envelope-from alc@rice.edu) Received: from mh10.mail.rice.edu (mh10.mail.rice.edu [128.42.201.30]) by mx1.freebsd.org (Postfix) with ESMTP id B32DC8FC08; Fri, 24 Aug 2012 16:12:53 +0000 (UTC) Received: from mh10.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh10.mail.rice.edu (Postfix) with ESMTP id EA0FB604CE; Fri, 24 Aug 2012 11:12:52 -0500 (CDT) Received: from mh10.mail.rice.edu (localhost.localdomain [127.0.0.1]) by mh10.mail.rice.edu (Postfix) with ESMTP id E88C1604C3; Fri, 24 Aug 2012 11:12:52 -0500 (CDT) X-Virus-Scanned: by amavis-2.7.0 at mh10.mail.rice.edu, auth channel Received: from mh10.mail.rice.edu ([127.0.0.1]) by mh10.mail.rice.edu (mh10.mail.rice.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id 8v3oOPhad6cW; Fri, 24 Aug 2012 11:12:52 -0500 (CDT) Received: from adsl-216-63-78-18.dsl.hstntx.swbell.net (adsl-216-63-78-18.dsl.hstntx.swbell.net [216.63.78.18]) (using TLSv1 with cipher RC4-MD5 (128/128 bits)) (No client certificate requested) (Authenticated sender: alc) by mh10.mail.rice.edu (Postfix) with ESMTPSA id 834E2603DC; Fri, 24 Aug 2012 11:12:52 -0500 (CDT) Message-ID: <5037A803.6030100@rice.edu> Date: Fri, 24 Aug 2012 11:12:51 -0500 From: Alan Cox User-Agent: Mozilla/5.0 (X11; FreeBSD i386; rv:8.0) Gecko/20111113 Thunderbird/8.0 MIME-Version: 1.0 To: Luigi Rizzo References: <20120822120105.GA63763@onelab2.iet.unipi.it> <20120823163145.GA3999@onelab2.iet.unipi.it> <50366398.2070700@rice.edu> <20120823174504.GB4820@onelab2.iet.unipi.it> <50371485.1020409@rice.edu> <20120824145708.GA16557@onelab2.iet.unipi.it> In-Reply-To: <20120824145708.GA16557@onelab2.iet.unipi.it> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Cc: alc@freebsd.org, current@freebsd.org Subject: Re: less aggressive contigmalloc ? X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 24 Aug 2012 16:12:54 -0000 On 08/24/2012 09:57, Luigi Rizzo wrote: > On Fri, Aug 24, 2012 at 12:43:33AM -0500, Alan Cox wrote: >> On 08/23/2012 12:45, Luigi Rizzo wrote: >>> On Thu, Aug 23, 2012 at 12:08:40PM -0500, Alan Cox wrote: >>> ... >>>>> yes i do see that. >>>>> >>>>> Maybe less aggressive with M_NOWAIT but still kills processes. >>>> Are you compiling world with MALLOC_PRODUCTION? The latest version of >>> whatever the default is. But: >>> >>>> jemalloc uses significantly more memory when debugging options are >>>> enabled. This first came up in a thread titled "10-CURRENT and swap >>>> usage" back in June. >>>> >>>> Even at its most aggressive, M_WAITOK, contigmalloc() does not directly >>>> kill processes. If process death coincides with the use of >>>> contigmalloc(), then it is simply the result of earlier, successful >>>> contigmalloc() calls, or for that matter any other physical memory >>>> allocation calls, having depleted the pool of free pages to the point >>>> that the page daemon runs and invokes vm_pageout_oom(). >>> does it mean that those previous allocations relied on memory overbooking ? >> Yes. >> >>> Is there a way to avoid that, then ? >> I believe that malloc()'s default minimum allocation size is 4MB. You >> could reduce that. >> >> Alternatively, you can enable MALLOC_PRODUCTION. > i tried this, and as others mentioned it makes life > better and reduces the problem but contigmalloc still triggers > random process kills. I would be curious to see a stack backtrace when vm_pageout_oom() is called.