[systemd-devel] Grouping services in systemd..

nitish nagesh nagesh.nitish at gmail.com
Thu Apr 2 13:21:08 UTC 2020


Hi folks,

  We are working on an embedded ARM Cortex A9 based system (aka low CPU).
It runs on a custom linux based operating system which uses systemd.

  We have a bunch of daemons (around ~50+) that come up during boot
simultaneously which slows down the boot significantly as the CPU runs out
of breath. We were thinking of staggering these daemons into 2 groups. The
first group containing "critical" daemons (around 15) so that they finish
faster and make the system usable sooner. Followed by the second group of
daemons.

   Separating daemons into buckets could be done using:
1) systemd targets: Introduce 2 new targets and classify the
services/daemons into them. Layer these targets during boot.
2) Cgroups: Create a new systemd slice and put all the "critical" services
into it. Allocate sufficient CPUShares value to the slice so that this
slice gets its due CPU% to finish faster boot.

Can you please suggest which of the above is a better approach? Respective
pros/cons with each.

Or if there is a third approach better than the above?

Thanks in advance,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/systemd-devel/attachments/20200402/a194bcc9/attachment.htm>


More information about the systemd-devel mailing list