[systemd-devel] journald leaking maps?

Lennart Poettering lennart at poettering.net
Mon Oct 15 16:27:25 PDT 2012


On Thu, 11.10.12 23:31, Colin Guthrie (gmane at colin.guthr.ie) wrote:

> Hi,
> 
> This has been discussion on IRC but I've not heard anything about it
> specifically nor have I seen any commits relating to it.
> 
> Using journald without persistent logs (i.e. /run only), I see the
> memory footprint of journald increasing over time.
> 
> Checking the maps shows a very high count:
> 
> [root at jimmy ~]# cat /proc/$(pidof systemd-journald)/maps | grep
> /run/log/journal/6cb2a4b2bd6df042e57da8a4000001d4/system.journal | wc -l
> 1641

That indeed looks like a lot.

> Something is obviously not good there! journald is using something in
> the region of 250MB res.
> 
> What's the best way to debug this?

If maps are leaked it would be good to figure out of what. So could you
go through /proc/$PID/maps and check for a) files with the "(deleted)"
suffix, and b) for map for the same range of the same file?

If you find a) then there's probably something borked with releasing
mmap()s when rotating. If we you find b) then we are apparently too
stupid to reuse existing mmaps (which is the whole point of
mmap-cache.c where all this code resides...).

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the systemd-devel mailing list