====== Ubuntu - SystemD - Analysing performance problems with systemd ====== Systemd is the default init-system in fresh installations of Debian GNU/Linux. One thing that Systemd is designed to do is speed up the booting of systems. True most installations are "servers" and as-such they're rarely rebooted, but I've been living with and working with a Debian laptop and Debian desktop for the past few years - and the laptop gets shutdown every day, and for that reason it is interesting to see how long a boot takes, and where that time is taken. Three interesting commands to look at the boot-speed of a system are: * systemd-analyze * systemd-analyze critical-chain * systemd-analyze blame This allow you to see the times that are taken to start various things. For example the second command on this laptop shows me: The time after the unit is active or started is printed after the "@" character. The time the unit takes to start is printed after the "+" character. graphical.target @5.384s └─multi-user.target @5.384s └─NetworkManager.service @5.105s +278ms └─basic.target @5.103s └─paths.target @5.103s └─acpid.path @5.103s └─sysinit.target @5.102s └─console-setup.service @5.047s +54ms └─kbd.service @5.024s +23ms └─remote-fs.target @5.023s └─local-fs.target @5.022s └─lvm2-monitor.service @4.995s +24ms └─system.slice @70ms └─-.slice @68ms Similarly if I run the "systemd-analyze blame" command I can see that the longest stall is waiting for: 4.548s systemd-cryptsetup@home.service Most of this stall is waiting for me to enter the passphrase for my encrypted /home directory!