[systemd-devel] Reduce unit-loading time

Hoyer, Marko (ADITG/SW2) mhoyer at de.adit-jv.com
Wed May 13 04:38:18 PDT 2015


> -----Original Message-----
> From: systemd-devel [mailto:systemd-devel-
> bounces at lists.freedesktop.org] On Behalf Of cee1
> Sent: Wednesday, May 13, 2015 11:52 AM
> To: systemd Mailing List
> Subject: [systemd-devel] Reduce unit-loading time
> Hi all,
> We're trying systemd to boot up an ARM board, and find systemd uses
> more than one second to load units.

This sounds far a bit too long to me. Our systemd comes up in an arm based system in about 200-300ms from executing init up to the first unit being executed.

> Comparing with the init of Android on the same board, it manages to
> boot the system very fast.
> We guess following factors are involved:
> 1. systemd has a much bigger footprint than the init of Android: the
> latter is static linked, and is about 1xxKB (systemd is about 1.4MB,
> and is linked with libc/libcap/libpthread, etc)
> 2. systemd spends quiet a while to read/parse unit files.

This depends on the numbers of units involved in the startup (finally connected in the dependency tree that ends in the default.target root). In our case, a comparable large unit set takes by about 40-60ms, not so long, I'd say.

> Any idea to reduce the unit-loading time?
> e.g. one-single file contains all units descriptions, or a "compiled
> version"(containing resolved dependencies, or even the boot up
> sequence)

Could you provide me some additional information about your system setup?

- Version of systemd
- Are you starting something in parallel to systemd which might take significant IO?
- Version of the kernel
- The kernel ticker frequency
- The enabled cgroups controllers

The last three points might sound a bit far away, but I've an idea in mind ...

Best regards

Marko Hoyer
Software Group II (ADITG/SW2)

Tel. +49 5121 49 6948

More information about the systemd-devel mailing list