Re: less aggressive contigmalloc ?

From: Alan Cox <alc_at_rice.edu>
Date: Fri, 24 Aug 2012 00:43:33 -0500
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.
Received on Fri Aug 24 2012 - 03:43:37 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:40:30 UTC