This is the mail archive of the
libc-help@sourceware.org
mailing list for the glibc project.
Re: fopen from within a pthread
- From: Carlos O'Donell <carlos at redhat dot com>
- To: Paul Pluzhnikov <ppluzhnikov at google dot com>, mebeyn at gmail dot com
- Cc: libc-help at sourceware dot org
- Date: Mon, 4 Jun 2018 10:38:25 -0400
- Subject: Re: fopen from within a pthread
- References: <CADpW=+3ve0oLtby3gneBdiQekjUnqZ66yvhkPUV-LSD9F=dg-g@mail.gmail.com> <CALoOobPHVFYCGpoTmftYMYHvRe=7QTrz_MBY-QwJ04tTMDX4uQ@mail.gmail.com>
On 06/02/2018 06:48 PM, Paul Pluzhnikov via libc-help wrote:
> On Sat, Jun 2, 2018 at 3:31 PM Martin Beynon <mebeyn@gmail.com> wrote:
>>
>> Is this erroneous behaviour, or can this be explained in some way?
>
>
> There is nothing erroneous about it.
>
> What you are observing is the creation of thread-specific arena, from
> which malloc will return memory to the new thread.
>
> GLIBC uses thread-specific arenas to avoid having to lock malloc
> internal structures when multiple threads allocate and free memory.
> Additional info can be found here:
> https://sourceware.org/glibc/wiki/MallocInternals
Also note that VM size is not the same as RSS.
The new thread arena, usually ~64MiB in size on 64-bit, is only taking
up VM space, but not consuming any real memory (RSS).
Therefore this is just an accounting procedure. Real memory will only
be used as you dirty the pages.
Cheers,
Carlos.