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.

_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"

Reply via email to