Ubuntu 休眠/唤醒异常?
休眠后无法唤醒、唤醒黑屏、唤醒后断网,多数是显卡驱动与电源管理策略的冲突。本文按现象给三条路线:suspend-to-RAM、hibernate 与网络恢复。
简短答案
先分清卡在哪一步:systemctl hibernation-status 看上次休眠是否成功回写。三大类现场各有对应路线:唤醒后黑屏但鼠标能动 → 显卡驱动没恢复,走 suspend-to-RAM;整机完全没反应 → 检查 swap 是否满足 hibernate;唤醒后断网 → 网卡电源管理策略太激。
现象对照
| 现象 | 对应路线 |
|---|---|
| 唤醒黑屏、鼠标可动 | 显卡驱动恢复失败,改 RAM 路线 |
| 休眠键无反应 | swap 空间不足,hibernate 被拒 |
| 唤醒后 Wi-Fi/以太网断 | 网卡 pm 策略过激 |
排查步骤
journalctl -b -1 | grep -iE 'suspend|hibernate|resume' # 看上次休眠过程
swapon -s # 判断 hibernate 前置是否满足
cat /proc/acpi/sleep 2>/dev/null # 当前 suspend 目标
- 改 RAM 路线:
/sys/kernel/pm/sleeping确认目标为 mem;仍黑屏则锁定旧版稳定内核驱动再试,版本行为以发行说明为准。 - hibernate:swap ≥ 内存占用,不足先补 swap 再
systemctl hibernate。 - 断网:对应网卡
echo on > /sys/class/net/<iface>/power/control,并写入开机脚本,验证用ping包确认链路恢复。
入口参考 Ubuntu 26.04 桌面版;服务器侧电源策略另见 Ubuntu 服务器版 条目与 Ubuntu 发行条目。
操作小结
- 先
journalctl -b -1看上次休眠日志,定故障段 - 按现象选 RAM / hibernate / 网卡策略三条路线之一
- 改前
swapon -s确认 hibernate 前置 - 网卡策略修改写开机脚本,否则重启失效