Date: Fri, 24 Aug 2012 00:43:33 -0500 From: Alan Cox <alc@rice.edu> To: Luigi Rizzo <rizzo@iet.unipi.it> Cc: alc@freebsd.org, current@freebsd.org Subject: Re: less aggressive contigmalloc ? Message-ID: <50371485.1020409@rice.edu> In-Reply-To: <20120823174504.GB4820@onelab2.iet.unipi.it> References: <20120822120105.GA63763@onelab2.iet.unipi.it> <CAJUyCcPOte19TJXpCVAskhf%2BDia_Zg5uj6J_idW67rGsOLaZXw@mail.gmail.com> <20120823163145.GA3999@onelab2.iet.unipi.it> <50366398.2070700@rice.edu> <20120823174504.GB4820@onelab2.iet.unipi.it>
next in thread | previous in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?50371485.1020409>