[systemd-devel] Excessive (virtual) memory usage of journald

Holger Hans Peter Freyther holger at freyther.de
Fri Jun 21 06:16:50 PDT 2013


On Fri, Jun 21, 2013 at 01:53:23PM +0200, Kay Sievers wrote:

> Fragmentation, allocation? I don't think we talk about the same thing here.

... you will figure that out.

> Mapping an on-disk file "a symptom of inefficiency", you might need to
> update your idea of how things work.

I didn't say that mmap of a file is bad. But thanks for putting words
in my mouth. I just wonder how a process that manipulates a file that
is stored in /run/log/journal/*/system.journal that can grow up to a
single digit MB needs an address space of 200MB.

Sure the answer is that journald maps the same fd with the same flags
(rwxs) and size multiple times (possible even with the same offset in
the file). Isn't doing more work than needed excessive behavior? When
the journal size is bigger than the available address space this makes
sense but e.g. when using Storage=volatile with a small enough
RuntimeMaxUse one could use mremap with a single X MB mapping?

cheers
	holger


More information about the systemd-devel mailing list