How to Find Out What's Slowing Down Linux Boot
With systemd-analyze, identifying specific slow services.
systemd-analyze
Shows the total boot time, broken down between the kernel itself and userspace (everything that loads afterwards).
Seeing which specific services take longest
systemd-analyze blame
Lists all services that start at boot, sorted from highest to lowest time consumed — the most likely candidate to optimise appears first.
Seeing the dependency chain (for more complex cases)
systemd-analyze critical-chain
Shows which services wait on others before they can start — useful when the problem isn't a single slow service, but a poorly optimised dependency chain.
Tip: if a specific service from
systemd-analyze blame takes a long time and you don't
need it right from boot, you can delay or disable it with
sudo systemctl disable service-name — properly research
what it does before disabling it.
Frequently asked questions
What's a normal boot time?
It varies by hardware, but on a modern SSD, 10-20 seconds total is reasonable. If your machine takes much longer, systemd-analyze blame helps you identify the specific responsible service.
Is it safe to disable a slow boot service?
It depends which service it is — research its function before disabling it. Some are essential even if they take time, others can be safely delayed if you don't need them from the very first second.