Threaded 6.4 code compiled under 9.0 uses a lot more memory?..
Dan Nelson
dnelson at allantgroup.com
Wed Oct 31 17:27:08 UTC 2012
In the last episode (Oct 31), Karl Pielorz said:
> --On 31 October 2012 16:06 +0200 Konstantin Belousov <kostikbel at gmail.com> wrote:
> > Since you neglected to provide the verbatim output of procstat, nothing
> > conclusive can be said. Obviously, you can make an investigation on
> > your own.
>
> Sorry - when I ran it this morning the output was several hundred lines -
> I didn't want to post all of that to the list 99% of the lines are very
> similar. I can email it you off-list if having the whole lot will help?
>
> >> Then there's a bunch of 'large' blocks e.g..
> >>
> >> PID START END PRT RES PRES REF SHD FL TP
> >> PATH 2010 0x801c00000 0x802800000 rw- 2869 0 4 0
> >> ---- df 2010 0x802800000 0x803400000 rw- 1880 0 1 0
> >
> > Most likely, these are malloc arenas.
>
> Ok, that's the heaviest usage.
>
> >> Then lots of 'little' blocks,
> >>
> >> 2010 0x7ffff0161000 0x7ffff0181000 rw- 16 0 1 0 ---D df
> >
> > And those are thread stacks.
>
> Ok, lots of those (lots of threads going on) - but they're all pretty
> small.
>
> My code only has a single call to malloc, which allocates around 20k per
> thread.
>
> Obviously there's other libraries and stuff running with the code - so
> would I be correct in guessing that they are more than likely for most of
> these large blocks?
Note that libmilter may do a lot of mallocs on its own, especially if you
are examining the message body. There are also jemalloc tuning options that
may lower total meory usage if you are using a lot of threads. I'd take
a look at the G and R flags first.
--
Dan Nelson
dnelson at allantgroup.com
More information about the freebsd-hackers
mailing list