qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Qemu and heavily increased RSS usage


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] Qemu and heavily increased RSS usage
Date: Mon, 27 Jun 2016 13:39:28 +0100
User-agent: Mutt/1.6.1 (2016-04-27)

On Fri, Jun 24, 2016 at 12:45:49PM +0200, Peter Lieven wrote:
> Am 24.06.2016 um 11:58 schrieb Peter Maydell:
> > On 24 June 2016 at 10:37, Stefan Hajnoczi <address@hidden> wrote:
> >> On Wed, Jun 22, 2016 at 09:56:06PM +0100, Peter Maydell wrote:
> >>> On 22 June 2016 at 20:55, Peter Lieven <address@hidden> wrote:
> >>>> What makes the coroutine pool memory intensive is the stack size of 1MB 
> >>>> per
> >>>> coroutine. Is it really necessary to have such a big stack?
> >>> That reminds me that I was wondering if we should allocate
> >>> our coroutine stacks with MAP_GROWSDOWN (though if we're
> >>> not actually using 1MB of stack then it's only going to
> >>> be eating virtual memory, not necessarily real memory.)
> >> Yes, MAP_GROWSDOWN will not reduce RSS.
> > Right, but then the 1MB of stack as currently allocated isn't
> > going to be affecting RSS either I would have thought (except
> > transiently, since we zero it on allocation which will
> > bring it into the RSS until it falls back out again
> > because we don't touch it after that).
> 
> What I observe regarding the coroutine pool is really strange. Under I/O load
> while booting the vServer the RSS size is low as expected. If the vServer runs
> for some time the RSS size suddenly explodes as if suddenly all the stack 
> memory gets
> mapped. This symptom definetely goes away if I disable the pool.
> 
> Regarding the coroutine pool I had the following thoughts:
>  - mmap the stack so its actually really freed if the coroutine is deleted 
> (with MAP_GROWSDOWN or not?)

This might be an easy fix if malloc is holding memory and not reusing
it.

Stefan

Attachment: signature.asc
Description: PGP signature


reply via email to

[Prev in Thread] Current Thread [Next in Thread]