After a system update, a server takes significantly longer to boot. The administrator wants to identify which systemd service is causing the delay. Which command provides a detailed analysis of boot time spent by each service?
`systemd-analyze blame` lists each unit's initialisation duration in descending order, directly exposing the service responsible for the slow boot. It satisfies the stem's requirement for a per-service breakdown of boot time, unlike `systemd-analyze time`, which reports only total firmware, loader and userspace durations.
Why this answer
The `systemd-analyze blame` command prints a list of all running systemd units, sorted by the time they took to initialize during boot. This directly answers the administrator's need to identify which specific service is causing the delay, as it shows the exact time spent by each service.
Exam trap
The trap here is that candidates confuse `systemd-analyze blame` with `systemd-analyze critical-chain`, mistakenly thinking the latter provides per-service timing, when in fact it only shows the dependency chain and not the individual time spent by each service.
How to eliminate wrong answers
Option A is wrong because `systemd-analyze time` only shows the total kernel, initrd, and userspace boot time, not a per-service breakdown. Option C is wrong because `systemd-analyze critical-chain` displays the critical boot chain (the tree of units that are critical for reaching the target), but it does not provide the detailed time spent by each service; it focuses on dependencies and bottlenecks in the chain. Option D is wrong because `systemd-analyze plot` generates an SVG graph of the boot timeline, which is useful for visual analysis but does not give a simple, sorted list of service times in the terminal.