Is your Linux system taking too long to boot? A slow startup can waste your time and test your patience. The good news is that Linux includes built-in tools that help you find and fix slow boot issues.
In this simple guide, you'll learn how to use the systemd-analyze command to find which services delay your system. Once you know what's slowing things down, you can safely disable unnecessary services to speed up the Linux boot process.
In the following sections, you will learn:
- What is systemd-analyze,
- Check your Linux boot time,
- Find which services are slowing things down,
- Safely disable unnecessary services,
- Make your Linux PC start faster.
No advanced skills needed. Just follow these simple steps to increase your Linux startup time in under 5 minutes!
Table of Contents
Why is My Linux Boot So Slow?
In modern Linux systems, systemd (system and services manager) starts everything when your computer boots. It runs many small programs called services. Some finish fast, others take more time.
Some common reasons your Linux system boots slowly:
- Too many services starting at boot (e.g., Bluetooth, printers, VPNs).
- Network delays (waiting for internet connection). Some services wait for a network connection before moving on.
- Slow hardware (old hard drives, low RAM).
These are just a few that comes in my mind. Of course, there are many things (both software and hardware) can cause slow startups.
We’ll focus on fixing software-related slowdowns using systemd-analyze, a tool built into most Linux systems.
What is systemd-analyze?
The systemd-analyze is a command-line tool that helps you understand your system’s boot performance. It works with systemd, the software that manages system startup, services, and shutdown. This tool shows how long different parts of the boot process take and can help you spot delays.
It includes several subcommands. For the purpose of this guide, we are going to learn the usage of the following sub-commands:
time: Shows total boot time and time spent in the firmware, bootloader, kernel, and userspace.blame: Lists services in order of how long they took to start.critical-chain: Displays which services delayed others.plot: Generates a visual SVG chart of the boot process (useful for deeper inspection).
Step 1: Check Your Boot Time
Linux boots in three key stages:
- Firmware Phase (BIOS/UEFI)
- Kernel Initialization
- Userspace Startup (where most delays happen)
Run this command to see time spent in each phase:
systemd-analyze time
You’ll see something like this:
Startup finished in 17.855s (firmware) + 7.320s (loader) + 4.004s (kernel) + 12.167s (userspace) = 41.347s graphical.target reached after 12.153s in userspace.
- Kernel time = Time for hardware setup (usually fast)
- Userspace time = Time for apps and services to load (where slowdowns happen)
If your userspace time is longer than 10 seconds, you can likely speed it up.
Step 2: Find the Slowest Services
The systemd-analyze blame command shows you how long each service takes during startup. This helps you find which ones are slowing things down.
Run this command to see which services take the most time:
systemd-analyze blame
This command will show how long each service took to start.
Example output (slowest services first):
4.316s NetworkManager-wait-online.service 1.629s fwupd.service 1.612s networking.service 1.609s systemd-modules-load.service 1.174s ifupdown2-pre.service 1.164s systemd-udev-settle.service 669ms postfix@-.service 661ms dev-nvme0n1p2.device 613ms vboxdrv.service 490ms tor@default.service 430ms systemd-udev-trigger.service 414ms blueman-mechanism.service 368ms systemd-journal-flush.service 269ms udisks2.service 200ms accounts-daemon.service 169ms ModemManager.service 165ms systemd-logind.service 157ms polkit.service
As you can see in the output, the longer ones are at the top.
Check carefully each service. If you don't know what a specific service does, simply do a quick web search to learn its usage. If you think a certain service is not necessary, you can disable it.
Deep Analysis
You can also use the systemd-analyze critical-chain command to show which services delay others:
systemd-analyze critical-chain
It helps you find services that block others from starting.
If you want to create a visual timeline for your Linux boot process, run:
systemd-analyze plot > boot.svg
For basic analysis, just run blame to spot obvious slowdowns. Use critical-chain or plot for deep analysis.
Display Top Ten Slowest Services
By default, systemd-analyze command will display the result page by page. You can navigate through the result by pressing ENTER key.
If you want to display a specific number of services, you can pipe the result to the head command. For example, to display the top-ten services that slowest services, run:
systemd-analyze blame | head -n 10
Step 3: Disable Unnecessary Services to Fix Slow Linux Boot Issues
You have found the services that causes the slow Linux boot, now what? You can either disable or optimize those problematic services.
Some services (like NetworkManager-wait-online) wait for internet access before boot completes. If you don’t need this, simply disable it using command:
sudo systemctl disable NetworkManager-wait-online.service
If you don’t use Bluetooth, you can disable it too:
sudo systemctl disable bluetooth.service
The other common services you might disable:
cups.service(if you don’t use printers)snapd.service(if you don’t use Snap apps)
Only disable services if you know they aren’t needed.
Warning: Don’t disable critical services like dbus, systemd-logind, or network-manager.
Step 4: Check Your Improvements
After making changes, reboot and run:
systemd-analyze time systemd-analyze blame
Compare the new boot time with your old one. You should see a noticeable speedup!
Bonus: More Ways to Speed Up Linux Boot
- Use an SSD (if still on a hard drive)
- Reduce startup apps (check
Startup Applicationsin your desktop settings) - Try a lighter Linux version (e.g., Lubuntu instead of Ubuntu)
Summary
The systemd-analyze blame command is a simple way to see why your Linux system is slow to boot. Using this command, you can easily find and fix slow boot issues in Linux. For most users, disabling just 1-2 unnecessary services cuts boot time in half.
Related Read:

2 comments
“Is your Linux system taking too long to boot? ”
Who cares!
What is this incessant paranoia about boot times.
1] When you turn on your computer will you be using it for longer than 1 minute.
2] Is the world going to end if you can’t boot in 3.14 seconds.
Let me help – the answer is NO to both of the above.
BUT, just to prove I’m a great guy and not just a troll this article should have started with:
Are you using an HDD or a SSD as your main drive?
An HDD can take twice as long as an SSD to boot.
I agree with your points. Some people still care for faster boot time.