systemd: please stop trying to take over the world :)

Daniel J Walsh dwalsh at
Tue Jun 14 12:53:17 UTC 2011

Hash: SHA1

On 06/14/2011 04:00 AM, Lennart Poettering wrote:
> On Mon, 13.06.11 18:18, Denys Vlasenko (dvlasenk at wrote:
>> On Sat, 2011-06-11 at 10:17 +0200, drago01 wrote:
>>> On Fri, Jun 10, 2011 at 3:07 PM, Denys Vlasenko <dvlasenk at> wrote:
>>>> Hi Lennart,
>>>> systemd is eating a lot more memory than any other init process
>>>> I ever played with.
>>>> Granted, systemd does a bit more that "typical" init, but I think
>>>> using *eleven plus megabytes* of malloced space is a bit much.
>> Sloppy attitude like this is the reason just about any daemon
>> (more and more of which pop up like mushrooms in every new release,
>> I must add) eats at least a few megabytes of RAM.
>> It's quite pathetic, really. You can easily tell which software
>> was developed earlier just by looking at its memory usage.
>> Example from my machine:
>> Good old ssh-agent: 404 kbytes.
>> Shiny new dconf-service: 2452 kbytes.
>> Shinier newer polkitd: 2836 kbytes.
>> e-addressbook-factory: 5488 kbytes.
>> Of course. What did you think. *Addressbook*! (Empty one in my case).
>> No way empty addressbook can fit into 0.5 meg, it needs 5! :( :( :(
>>> ~11MB equals ~8 cents of RAM ... so meh.
>> Are you volunteering to buy more RAM for every Fedora user? ;)
> As mentioned this is primarily the SELinux policy we load. I wished
> libselinux would optimize memory usage transparently, but even without
> any changes in libselinux we should be able to optimize this a bit.
> Yes, using SELinux makes your boot a bit slower and consumes more
> resources, there is no news in that, and there's also no news in the
> fact that we can optimize this a bit when we are aware of it.
> Lennart
I just released an updated version of libselinux that will no longer do
the dups check on loading file labeling.  Testing with matchpathcon, I
see a four time speed up on loading the file context file.  Basically
from 1 Second down to .25 seconds.

The memory problem is just the share number of file context that we are
loading,  each line of the file_context file is a regex.  Currently the
file_context file on my Rawhide machine is 4209 lines.  If we can
determine the only file context that systemd will need, based on
directories we can eliminate some of the regexes.  For example if we
just loaded paths that begin with /var, /tmp, /dev, we would drop the
regexs down to 1500.
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Fedora -


More information about the devel mailing list