|
|
|
---
|
|
|
|
title: "Systemd: slow reboot and shutdown fixed"
|
|
|
|
aliases: /posts/2022-06-27-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: 2024-09-28T23:48:06+0000
|
|
|
|
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>
|