A systemd server now takes almost two minutes to reach its default target and you want a list of every unit ranked by how long it took to initialise. Which command produces it?
LPIC-1 Exam 101-500, objective 101. System architecture medium
Machine-checked — no person has signed for it. This question was read against the source cited below by an automated pass, which found no contradiction. That is a weaker claim than it sounds: the same kind of process wrote the question, so it can confirm its own mistake.
Treat it as a good draft rather than as settled fact, and read the source below before you rely on it. It is not used in mock exams here — only questions a person has signed for are.
How these questions are written — where each question comes from, what the verification ledger records, and what happens when one is found wrong.
The options
Correct systemd-analyze blame
Correct. It prints one line per unit, longest initialisation time first, which is exactly the ranked list asked for.
Not correct systemd-analyze critical-chain
Wrong for a full ranking, and the closest distractor. It follows the dependency chain that actually delayed the target, showing only the units on that path with their @start and +duration figures.
Not correct systemctl list-units --failed
Wrong. It lists units that failed to start. A slow unit that eventually succeeds never appears.
Not correct journalctl -b -o short-monotonic
Wrong as an answer, though useful alongside. It timestamps this boot's messages with seconds since boot, leaving you to derive per-unit durations by hand.
Why
The two systemd-analyze subcommands answer different questions and are easily swapped. blame ranks units by their own initialisation time, which finds the slow unit; critical-chain traces the dependency path that determined when the target was reached, which finds the unit that is actually holding boot up. A unit can be slow without being on the critical path if nothing waits for it, so blame alone can send you optimising something that costs no wall-clock time. `systemd-analyze time` gives the firmware, loader, kernel and userspace totals for context.
Where this comes from
- Cited
- manual page systemd-analyze(1)
Practise this
Reading one question is not practice. The trainer will draw a short set from objective 101 and space the ones you get wrong.
More questions on this objective
- You have a module file for a network driver on disk but the driver is not loaded. Which command reports the module's description, license, its dependencies and the parameters it accepts, without loading it into the kernel? machine-checked
- A module was loaded together with several modules it depends on. Which command unloads that module and then also unloads the dependencies that are left with a use count of zero? machine-checked
- You are filing a hardware bug report and the maintainer asks for the raw PCI vendor and device ID numbers rather than the human-readable names lspci normally prints. Which lspci option produces the numeric IDs? machine-checked
- A USB device is not getting the device node you expect. You want to watch, live, the kernel uevents and the resulting udev events as you unplug and replug it. Which command does that? machine-checked
- On a traditional BIOS PC, the firmware has completed its power-on self test and selected the hard disk as the boot device. What happens next? machine-checked
- A systemd-based machine fails during a normal boot because a service hangs. At the boot loader menu you want to edit the kernel command line for this one boot so the system comes up in single-user rescue mode instead. Which parameter do you append? machine-checked