When you power on your system, you wait for the manufacturer’s logo to come up, a few messages on the screen perhaps (booting in insecure mode), Grub screen, operating system loading screen and finally the login screen.
Did you check how long did it take? Perhaps not. Unless you really need to know, you won’t bother with the boot time details.
But what if you are curious to know long long your Linux system takes to boot? Running a stopwatch is one way to find that but in Linux, you have better and easier ways to find out your system’s start up time.
Checking boot time in Linux with systemd-analyze

Like it or not, systemd is running on most of the popular Linux distributions. The systemd has a number of utilities to manage your Linux system. One of those utilities is systemd-analyze.
The systemd-analyze command gives you a detail of how many services ran at the last start up and how long they took.
If you run the following command in the terminal:
systemd-analyze
You’ll get the total boot time along with the time taken by firmware, boot loader, kernel and the userspace:
Startup finished in 7.275s (firmware) + 13.136s (loader) + 2.803s (kernel) + 12.488s (userspace) = 35.704s
graphical.target reached after 12.408s in userspace
As you can see in the output above, it took about 35 seconds for my system to reach the screen where I could enter my password. I am using Dell XPS Ubuntu edition. It uses SSD storage and despite of that it takes this much time to start.
Not that impressive, is it? Why don’t you share your system’s boot time? Let’s compare.
You can further breakdown the boot time into each unit with the following command:
systemd-analyze blame
This will produce a huge output with all the services listed in the descending order of the time taken.
7.347s plymouth-quit-wait.service
6.198s NetworkManager-wait-online.service
3.602s plymouth-start.service
3.271s plymouth-read-write.service
2.120s apparmor.service
1.503s [email protected]
1.213s motd-news.service
908ms snapd.service
861ms keyboard-setup.service
739ms fwupd.service
702ms bolt.service
672ms dev-nvme0n1p3.device
608ms [email protected]:intel_backlight.service
539ms snap-core-7270.mount
504ms snap-midori-451.mount
463ms snap-screencloud-1.mount
446ms snapd.seeded.service
440ms snap-gtk\x2dcommon\x2dthemes-1313.mount
420ms snap-core18-1066.mount
416ms snap-scrcpy-133.mount
412ms snap-gnome\x2dcharacters-296.mount
Please keep in mind that the services run in parallel.
Bonus Tip: Improving boot time
If you look at this output, you can see that both network manager and plymouth take a huge bunch of boot time.
Plymouth is responsible for that boot splash screen you see before the login screen in Ubuntu and other distributions. Network manager is responsible for the internet connection and may be turned off to speed up boot time. Don’t worry, once you log in, you’ll have wifi working normally.
sudo systemctl disable NetworkManager-wait-online.service
If you want to revert the change, you can use this command:
sudo systemctl enable NetworkManager-wait-online.service
Now, please don’t go disabling various services on your own without knowing what it is used for. It may have dangerous consequences.
Similarly, you can also use systemd to investigate why your Linux system takes a long time to shut down.
Now that you know how to check the boot time of your Linux system, why not share your system’s boot time in the comment section?
$ cat system_boot_time.sh
#!/bin/bash
echo > system_boot_time.txt
uptime -s >> system_boot_time.txt
uptime -p >> system_boot_time.txt
cat /proc/uptime >> system_boot_time.txt
echo ^ >> system_boot_time.txt
echo | >> system_boot_time.txt
echo seconds >> system_boot_time.txt
echo >> system_boot_time.txt
systemd-analyze >> system_boot_time.txt
echo >> system_boot_time.txt
2022-01-03 12:03:43
up 30 minutes
1844.92 12515.91
^
|
seconds
Startup finished in 5.246s (kernel) + 27.821s (userspace) = 33.067s
graphical.target reached after 27.790s in userspace
My 2nd rig is an AMD Ryzen 5950X CPU with [2] RTX 2070 Super GPUs running in dual-boot mode with Windows 10
[email protected]:~$ systemd-analyze
Startup finished in 14.353s (firmware) + 5.361s (loader) + 3.223s (kernel) + 45.866s (userspace) = 1min 8.805s
graphical.target reached after 45.804s in userspace
[email protected]:~$ systemd-analyze blame
25.580s plymouth-quit-wait.service
12.995s dev-sdc3.device
12.401s snapd.service
8.751s systemd-journal-flush.service
8.275s NetworkManager-wait-online.service
7.295s networkd-dispatcher.service
6.340s udisks2.service
5.763s dev-loop13.device
5.146s dev-loop1.device
4.890s dev-loop23.device
4.708s accounts-daemon.service
4.706s dev-loop9.device
4.491s dev-loop0.device
4.421s dev-loop3.device
4.224s dev-loop15.device
4.181s dev-loop24.device
3.978s dev-loop28.device
3.924s dev-loop26.device
3.916s polkit.service
3.849s dev-loop4.device
3.833s dev-loop5.device
3.779s NetworkManager.service
3.708s avahi-daemon.service
My rig is an AMD Ryzen 9 3950X CPU with an RTX 2060 GPU
[email protected]:~$ systemd-analyze
Startup finished in 14.218s (firmware) + 3.767s (loader) + 4.675s (kernel) + 24.358s (userspace) = 47.019s
graphical.target reached after 24.353s in userspace
[email protected]:~$ systemd-analyze blame
20.364s plymouth-quit-wait.service
9.628s snapd.service
3.634s dev-nvme0n1p2.device
3.156s NetworkManager-wait-online.service
2.525s snap-gnomex2d3x2d34x2d1804-66.mount
2.521s snap-kpat-49.mount
2.403s snap-kdex2dframeworksx2d5x2dqtx2d5x2d15x2dcore20-14.mount
2.355s snap-gh-453.mount
2.343s snap-snapx2dstore-547.mount
2.218s snap-kpat-57.mount
2.132s snap-kdex2dframeworksx2d5x2dqtx2d5x2d15x2d3x2dcore20-7.mount
2.037s snap-stellariumx2ddaily-1013.mount
1.928s snap-snapx2dstore-518.mount
1.877s snap-core20-1081.mount
1.757s snap-gtkx2dcommonx2dthemes-1519.mount
1.661s snap-kdex2dframeworksx2d5x2dqtx2d5x2d15x2d3x2dcore20-5.mount
1.598s snap-gnomex2d3x2d28x2d1804-161.mount
1.456s snap-sensorsx2dunity-213.mount
1.384s snap-gh-448.mount
1.285s snap-core20-1169.mount
1.281s snap-gnomex2d3x2d34x2d1804-72.mount
1.070s snap-snapd-13640.mount
1.070s snap-snapd-13831.mount
systemd-analyze
Startup finished in 5.125s (kernel) + 4.460s (userspace) = 9.585s
graphical.target reached after 4.413s in userspace
“Find Out How Long Does it Take To Boot Your Linux System”
Title is misleading. Not “Linux System”, “systemd Linux System”
Article is useless to those that run non-systemd distros.