How to speed up Fedora boot time
This tutorial was executed on a Fedora 21 distribution but will work also on other more recent releases. Fedora has an awesome way to find actual boot time. Only you have to do is to execute the following command in your terminal:
systemd-analyze
The result of this terminal command will be the total boot time. I had some boot time problems, and for my system it showed more than a minute. If you want to know precisely the time each service needs to start, you have to use the following command:
systemd-analyze blame
This command will give you a list of all services and their time to start during the boot in the descending order (from the slowest to the fastest service).
The main reason for this too long boot time was systemd-journald.service
. It took about 40 seconds to start. This service is related to file journaling and if you want to know how much of disk space is used for this service, use the following command:
journalctl --disk-usage
In my case, it took about 1.2G. I checked also the content of the folder /var/log/journal
, and I was surprised to see a lot of huge files. The main reason for this was the bad configuration of the journald
service. To change the default configuration, you have to edit the /etc/systemd/journald.conf
file. What I changed in this file was only one line: SystemMaxUse
was initially commented, I uncommented it and changed it like this SystemMaxUse=50M
. After rebooting the system, the boot time was reduced about 30 seconds.
If you have similar problems with other services, using systemd-analyze blame
command you can find out the service taking the most of the boot time. And if it is one of the unnecessary services, you can disable it with sudo systemctl disable service_name.service
command. If you want to know more about a service, you can use the following commands to identify its main functions:
systemctl status service_name.service
The last command will give you the path to your service, and you can use it to find the package to which it belongs with:
rpm -qf /usr/lib/systemd/system/service_name.service
That’s it! I hope you enjoyed!