Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 31 Oct 2012 09:49:21 +0000
From:      Karl Pielorz <kpielorz_lst@tdx.co.uk>
To:        Konstantin Belousov <kostikbel@gmail.com>, Alfred Perlstein <bright@mu.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Threaded 6.4 code compiled under 9.0 uses a lot more memory?..
Message-ID:  <C25F1D47C8D6BA6E3A072D4B@MightyAtom.tdx.co.uk>
In-Reply-To: <20121030175138.GA73505@kib.kiev.ua>
References:  <A92CE63E6E6DB93B366F4A42@MightyAtom.tdx.co.uk> <20121030182727.48f5e649@X220.ovitrap.com> <E46B717DCFC9273E8BEC5100@MightyAtom.tdx.co.uk> <20121030194307.57e5c5a3@X220.ovitrap.com> <615577FED019BCA31EC4211B@Octca64MkIV.tdx.co.uk> <509012D3.5060705@mu.org> <20121030175138.GA73505@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help

--On 30 October 2012 19:51 +0200 Konstantin Belousov <kostikbel@gmail.com> 
wrote:

> I suggest to take a look at where the actual memory goes.
>
> Start with procstat -v.

Ok, running that for the milter PID I get seem to be able to see smallish 
chunks used for things like 'libmilter.so', and 'libthr.so' / 'libc.so' - 
e.g.

2010           0x400000           0x413000 r-x   19    0   1   0 CN-- vn 
/usr/local/sbin/milter
2010           0x613000           0x800000 rw-   15    0   1   0 ---- df
2010        0x800613000        0x80062b000 r-x   24    0  97   0 CN-- vn 
/libexec/ld-elf.so.1
2010        0x80062b000        0x800634000 rw-    9    0   1   0 ---- df
2010        0x800634000        0x80065f000 rw-   33    0   1   0 ---- df
2010        0x80082b000        0x80082d000 rw-    2    0   1   0 ---- df
2010        0x80082d000        0x800839000 r-x   12   12   2   1 CN-- vn 
/usr/lib/libmilter.so.5
2010        0x800839000        0x800a38000 ---    0    0   1   0 ---- df
2010        0x800a38000        0x800a39000 rw-    1    0   1   0 C--- vn 
/usr/lib/libmilter.so.5
2010        0x800a39000        0x800a3c000 rw-    0    0   0   0 ---- --

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 ---- df
2010        0x803400000        0x803800000 rw-  920    0   1   0 ---- df
2010        0x803800000        0x804000000 rw-  865    0   1   0 ---- df
2010        0x804000000        0x804400000 rw- 1024    0   4   0 ---- df
2010        0x804400000        0x804c00000 rw-  627    0   1   0 ---- df
2010        0x804c00000        0x805000000 rw- 1021    0   4   0 ---- df

Then lots of 'little' blocks,

2010     0x7ffff0161000     0x7ffff0181000 rw-   16    0   1   0 ---D df
2010     0x7ffff0362000     0x7ffff0382000 rw-   16    0   1   0 ---D df
2010     0x7ffff0563000     0x7ffff0583000 rw-   16    0   1   0 ---D df
2010     0x7ffff0764000     0x7ffff0784000 rw-   16    0   1   0 ---D df
2010     0x7ffff0965000     0x7ffff0985000 rw-   16    0   1   0 ---D df
2010     0x7ffff0b66000     0x7ffff0b86000 rw-   16    0   1   0 ---D df
2010     0x7ffff0d67000     0x7ffff0d87000 rw-   16    0   1   0 ---D df
2010     0x7ffff0f68000     0x7ffff0f88000 rw-   16    0   1   0 ---D df
2010     0x7ffff1169000     0x7ffff1189000 rw-   16    0   1   0 ---D df


The memory usage figures seem to have 'stabilized' now - SIZE/RES seem to 
track around 9 times the size of the 6.4 system, for a comparative load.

We can probably live with this (as they have come back down overnight as 
load fell off) - i.e. they don't appear to be continuously growing (the 
binaries were heavily profiled under 6.x and found to have no internal 
leaks).

-Karl



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?C25F1D47C8D6BA6E3A072D4B>