[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