Ubuntu 默认某个服务关不掉,系统就死等 90 秒,那么我们能不能通过缩短这个时间来减少等待呢?
答案是肯定的,Linux中一切皆文件,都可以通过修改文件达到不同的效果。
先搞懂:Ubuntu 关机慢的原理
关机流程:
用户程序退出 → 桌面服务退出 → systemd 停止各类系统服务 → 卸载磁盘分区 → 断开硬件驱动 → 断电
大部分人关机慢,都是这几个原因:
- systemd 强制超时等待(最常见,很多服务关不掉,系统硬等 90s 默认超时)
- 服务退出卡顿(nginx/mariadb/php 这类服务)
- LVM 磁盘卸载慢(我安装系统时习惯使用服务器那样操作手法,正常个人用户不要使用LVM)
- GNOME 桌面、gdm、用户会话卡住
- 网络、挂载、udev 底层等待
systemd 强制超时等待,这个效果最大,90% 关机慢都能解决,我们把这个超时时间改短,安全、无副作用、桌面版通用。
1. 修改超时配置
sudo vim /etc/systemd/system.conf
找到下面这两行,取消注释 + 修改数值
#DefaultTimeoutStartSec=90s
#DefaultTimeoutStopSec=90s
改成:
DefaultTimeoutStartSec=5s
DefaultTimeoutStopSec=5s
意思:
- 启动服务超时 5 秒 放弃
- 停止 / 关机服务超时 5 秒 强制杀掉这是桌面系统最优安全值,不要改成 0,容易损坏磁盘。
保存退出
2. 重载 systemd 配置
sudo systemctl daemon-reexec
立即生效,无需重启。