Fedora 26 uses grub2 as default boot loader , and traditional sequential init daemon is replaced by systemd start up daemon which can start servuce simultaneously.
there are situations where boot times are longer than expected.
Best way is to start analying the time taken by the process to start this can be checked by systemctl-analyze
comamnd.
#systemd-analyze Startup finished in 2.685s (kernel) + 6.928s (initrd) + 1min 4.830s (userspace) = 2min 13.443s
The same above can be exported as an image and boot times can be investigated
#systemd-analyze plot > boot.svg
#systemd-analyze blame 37.894s abrtd.service 25.961s docker.service 18.333s tuned.service 14.288s plymouth-quit-wait.service 12.432s sssd.service 10.672s libvirtd.service 10.296s firewalld.service 9.284s NetworkManager-wait-online.service 7.816s lvm2-monitor.service 6.750s systemd-udev-settle.service 4.856s dev-sdb3.device 4.565s udisks2.service 4.276s polkit.service 4.013s initrd-switch-root.service 3.485s systemd-journal-flush.service 2.941s gssproxy.service 2.520s rsyslog.service 2.520s netcf-transaction.service 2.477s ModemManager.service 2.045s lightdm.service 1.921s dracut-initqueue.service 1.669s systemd-fsck-root.service 1.622s nagios.service 1.596s avahi-daemon.service 1.544s chronyd.service 1.461s thermald.service 1.428s systemd-vconsole-setup.service 1.300s fedora-readonly.service 1.226s sshd.service 1.203s bluetooth.service 1.123s proc-sys-fs-binfmt_misc.mount 1.107s systemd-tmpfiles-setup-dev.service 1.072s sysstat.service 1.060s dnf-makecache.service 1.056s systemd-udevd.service 844ms lm_sensors.service 802ms tmp.mount 744ms livesys.service 736ms rtkit-daemon.service 712ms switcheroo-control.service 679ms NetworkManager.service 648ms accounts-daemon.service 599ms upower.service 596ms systemd-user-sessions.service 560ms dev-mqueue.mount 509ms wpa_supplicant.service 499ms systemd-remount-fs.service 495ms auditd.service 459ms tlp.service
from the above we can see that abrtd , sssd services are taking longer duration during boot.
abrtd is a crash reporting tool it is safe to disable this service if you dont want to have crash reporting enabled.
#systemctl stop abrtd #systemctl disable abrtd
sssd service is mainly used for remote directory authentication like ldap , freeIpa services if you are not using ldap its safe to disable the service.
#systemctl stop sssd.service #systemctl disable sssd.service Removed /etc/systemd/system/multi-user.target.wants/sssd.service
We can even use systemd-analyze critical-chain to see the boot chain process
systemd-analyze critical-chain
The time after the unit is active or started is printed after the “@” character.
The time the unit takes to start is printed after the “+” character.
$systemd-analyze graphical.target @1min 4.366s └─multi-user.target @1min 4.366s └─docker.service @38.404s +25.961s └─network-online.target @38.396s └─NetworkManager-wait-online.service @29.109s +9.284s └─NetworkManager.service @27.559s +679ms └─network-pre.target @27.556s └─firewalld.service @17.259s +10.296s └─polkit.service @12.820s +4.276s └─basic.target @12.658s └─sockets.target @12.658s └─cockpit.socket @12.614s +43ms └─sysinit.target @12.558s └─systemd-update-utmp.service @12.523s +33ms └─auditd.service @12.025s +495ms └─systemd-tmpfiles-setup.service @11.648s +361ms └─fedora-import-state.service @11.448s +197ms └─local-fs.target @11.440s └─var-lib-docker-plugins.mount @52.068s └─local-fs-pre.target @11.006s └─lvm2-monitor.service @3.189s +7.816s └─lvm2-lvmetad.service @10.667s └─lvm2-lvmetad.socket @3.184s └─-.mount └─system.slice └─-.slice
Analyzing boot time after disabling services.
#systemd-analyze Startup finished in 2.701s (kernel) + 5.342s (initrd) + 1min 12.818s (userspace) = 1min 20.861s