[systemd-devel] Reg: optimize boot process.

Kai Krakow hurikhan77 at gmail.com
Wed Mar 5 11:12:04 PST 2014


Manmohan Singh <manmohan.mani2553 at gmail.com> schrieb:

> Hello Everyone,
> 
> May any one let me know how to customize systemd to fast boot so that
> systemd initialization can be done in parallel on the multiple (like -
> four ) core to speed up boot process.

Systemd already does this by design unintentionally. The prime goal of 
systemd wasn't speed but it's design naturally provides massive auto-
parallelization and automatic resolving of dependencies.

For that to work, however, you have to use units that natively use systemd's 
configuration syntax and socket activation where possible (so you can throw 
away dependency info), and not sysvinit wrappers with manual dependency info 
(which will serialize the boot process).

You may want to boot it on a filesystem that scales well to parallel 
workload (i.e., reiserfs doesn't), maybe enable the readahead service and 
use a filesystem for which systemd handles defragmentation and/or relocation 
(like ext4 or btrfs).

Most of the time, the problem with slow boot is not in systemd itself but in 
lvm activation, initramfs scripts, network scripts, etc. As a first pointer 
activate systemd's bootchart service and look at its output. Then come back 
with what you found. ;-)

BTW: As an example, I found that initializing networking wrong will have a 
bad effect on display manager startup times. I switched to NetworkManager 
(from netctl) and the problem went away. I had a 30s delay in starting my 
xsession with lightdm, this delay is gone since I'm using NetworkManager. 
Now boot time until X startup (without loading the desktop) is down from 
90s+ to around 25s.

-- 
Replies to list only preferred.



More information about the systemd-devel mailing list