You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

100 lines
2.5 KiB

---
title: 'Systemd: slow reboot and shutdown fixed'
summary: >
I'm not so into systemd systems and ever avoided systemd whenever possible,
but nowadays systems without systemd are very rare. So I'm learning my lessons
slowly and with some memory protection (e.g. this article). Sorry, this
article is not very well formatted...
date: 2022-06-26T22:41:49+02:00
lastmod: 2022-10-26T07:09:35+02:00
categories: [computerstuff]
tags: [linux,systemd,manjaro]
---
I noticed long delays (more than 2 minutes) on reboots and poweroffs recently
on my Manjaro laptop.
## Fix the slow shutdown/reboot
View the last boot session log in reverse order
~~~console
$ journalctl -rb -1
~~~
and inspect that for abnormalities. Also look at your console when rebooting or
shutting down the system, as that may also present some good starting points.
**To make things short, here's my solution that I currently work with:**
I edited `/etc/systemd/system.conf` and changed the following values:
~~~ini
# file: "/etc/systemd/system.conf"
[Manager]
[...]
RebootWatchdogSec=1min
ShutdownWatchdogSec=1min
[...]
DefaultTimeoutStopSec=5s
[...]
~~~
## Have a quick look at the boot time
~~~console
$ systemd-analyze
~~~
and if you are more interested into which module slows down your boot, list them
with:
~~~console
$ systemd-analyze blame
~~~
Just out of curiosity I also used:
~~~console
$ sudo systemctl disable NetworkManager-wait-online.service
~~~
→ revert that with:
~~~console
$ sudo systemctl enable NetworkManager-wait-online.service
~~~
## Sources
The sources of my research and a more detailed explanation can be found
with those links:
- <https://itsfoss.com/check-boot-time-linux/>
- <https://itsfoss.com/long-shutdown-linux/>
## Update and Results on my Fedora box
Since I made the switch to Fedora 36 I had to re-do those steps.
With default values I got this result for `systemd-analyze`
~~~console
$ systemd-analyze
Startup finished in 7.754s (firmware) + 5.988s (loader) + 1.140s (kernel) + 13.027s (initrd) + 1min 21.493s (userspace) = 1min 49.403s
graphical.target reached after 1min 21.462s in userspace
~~~
Without userspace: <span style="border-bottom: 3px double;">27.9090s</span>
And with the changes above I get this
~~~console
$ systemd-analyze
Startup finished in 10.151s (firmware) + 2.368s (loader) + 1.128s (kernel) + 10.509s (initrd) + 8.480s (userspace) = 32.639s
graphical.target reached after 8.450s in userspace
~~~
Without userspace: <span style="border-bottom: 3px double;">24.1560s</span>