Introduction
I use Ubuntu 16.04 on my laptop, ThinkPad E460. It takes as much as 1m 30s to completely boot up, which, by normal standards, is not fast (in fact, it is slow). I would like to speed this process up.
Analysis
From several other posts on multiple GNU/Linux-related forums, I have tried to check the output given by commands dmesg
and mainly systemd-analyze blame
. From these, one particular service seems to be taking up disproportionately large amount of time. This is: NetworkManager.
I am trying to figure out how to make that particular service use less time while boot. I would also appreciate any other general advice/feedback/specifics you can offer to help me speed up my boot-up.
I understand that a similar question has been asked before on multiple occasions, however, it has not solved my problem, hence I am asking again.
Below you can find the output obtained for the commands mentioned above.
[....]~$ systemd-analyze blame
13.671s dev-sda6.device
12.367s NetworkManager-wait-online.service
6.591s ModemManager.service
6.229s NetworkManager.service
6.203s accounts-daemon.service
5.202s tor@default.service
4.729s gpu-manager.service
4.290s systemd-udevd.service
3.628s thermald.service
3.207s systemd-fsck@dev-disk-by\x2duuid-6AF8\x2dE12F.service
3.102s apparmor.service
2.804s vboxdrv.service
2.675s grub-common.service
2.628s networking.service
2.538s apache-htcacheclean.service
2.526s apport.service
2.410s systemd-logind.service
2.364s pppd-dns.service
2.361s tor.service
2.041s rsyslog.service
1.990s polkitd.service
1.939s systemd-tmpfiles-setup-dev.service
1.681s systemd-modules-load.service
1.531s keyboard-setup.service
1.421s irqbalance.service
1.318s bluetooth.service
1.285s apache2.service
1.196s systemd-journald.service
1.193s udisks2.service
920ms systemd-tmpfiles-setup.service
828ms console-setup.service
807ms lightdm.service
786ms ondemand.service
702ms sys-kernel-debug.mount
697ms wpa_supplicant.service
686ms iio-sensor-proxy.service
589ms systemd-rfkill.service
558ms systemd-sysctl.service
472ms dev-hugepages.mount
467ms dev-mqueue.mount
[....]:~$ 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.
graphical.target @45.688s
└─multi-user.target @45.688s
└─apache2.service @44.403s +1.285s
└─network-online.target @44.387s
└─NetworkManager-wait-online.service @32.019s +12.367s
└─NetworkManager.service @25.775s +6.229s
└─dbus.service @23.549s
└─basic.target @23.497s
└─sockets.target @23.497s
└─snapd.socket @23.333s +158ms
└─sysinit.target @23.332s
└─apparmor.service @20.172s +3.102s
└─local-fs.target @20.157s
└─boot-efi.mount @19.987s +168ms
└─systemd-fsck@dev-disk-by\x2duuid-6AF8\x2dE12F.service @16.671s +3.207s
└─dev-disk-by\x2duuid-6AF8\x2dE12F.device @16.656s