住宅机器定时休眠省电自动唤醒AI推理服务配置指南

家里的AI推理服务器(比如跑本地大模型或视频分析的设备)如果24小时开着,电费是真肉疼。
把它配置成白天跑任务、晚上自动休眠,早上再自己醒过来,既省电又不用天天手动开关机。
本文就用最直白的步骤,把定时休眠和自动唤醒给你安排上。

动手前确认这几点

先看看硬软件支持情况:

  • 主板支持 RTC 唤醒:大部分近几年的台式机/工控板 BIOS 里都有“Wake on RTC”选项,有的叫“Resume by Alarm”。如果找不到,可以改用网络唤醒(WOL)。
  • 网卡支持 WOL:大多数板载千兆网卡都行,用 ethtool 可以确认。
  • 系统:本文以 Ubuntu 22.04/24.04 为例,Debian 和其他发行版通用。
  • AI 服务:假设你的推理服务已经配好(比如 Ollama、LocalAI、TensorRT),能开机自启动。

开启网络唤醒并测试休眠

先确保网卡在休眠后还能收唤醒包。
登录系统,打开终端执行:

# 查看网卡名称,通常是 eth0 或 enpXsY
ip link
# 以 enp3s0 为例,用 ethtool 查看当前唤醒设置
sudo ethtool enp3s0 | grep -i wake

如果输出里有 Supports Wake-on: pumbgWake-on: d(d 表示禁用),那就启用它:

sudo ethtool -s enp3s0 wol g

然后让设置生效(不同发行版方法不同,这里用 systemd 单元持久化):

sudo systemctl edit --full wol.service

粘贴以下单元内容:

[Unit]
Description=Enable Wake-on-LAN

[Service]
Type=oneshot
ExecStart=/usr/sbin/ethtool -s enp3s0 wol g

[Install]
WantedBy=basic.target

保存后启用:

sudo systemctl enable --now wol.service

测试一次休眠:

sudo systemctl suspend

机器会进入睡眠状态。
然后从另一台设备发魔术包唤醒(需要知道这台机器的 MAC 地址):

# 用 wakeonlan 工具,在局域网另一台机器上执行
wakeonlan XX:XX:XX:XX:XX:XX

如果机器成功唤醒,说明 WOL 可用。

设置定时休眠与自动唤醒

休眠用 systemctl suspend,自动唤醒用 rtcwakertcwake 可以设定在指定时间后自动唤醒(基于 RTC 时钟)。
我们来写一个 crontab 任务:

crontab -e

加入以下两条(假设你希望每天 23:00 休眠,早上 7:00 唤醒):

# 每天晚上 23:00 休眠并设定 8 小时后唤醒(7:00)
0 23 * * * /usr/sbin/rtcwake -m mem -s 28800 && sudo systemctl suspend
# 或者直接用 -m no 只设定唤醒闹钟,不立即休眠(下面会详细介绍)

-m mem 表示挂起到内存(休眠),-s 28800 是秒数(8小时)。
但注意:rtcwake -m mem 本身就执行了挂起操作,不用再跟 systemctl suspend
更稳妥的做法是:

0 23 * * * /usr/sbin/rtcwake -m no -s 28800 && sudo systemctl suspend

-m no 只设置闹钟,不挂起,然后再 systemctl suspend 挂起。
不过有些系统在挂起后 rtcwake 的闹钟可能被覆盖,推荐直接用:

sudo rtcwake -m mem -s 28800

这条命令会设定一个 28800 秒后的唤醒闹钟,然后立即进入休眠状态。
把上面这条加到 crontab 中:

0 23 * * * /usr/sbin/rtcwake -m mem -s 28800

注意:rtcwake 需要 root 权限,crontab 里默认用 root 运行(使用 sudo crontab -e)。
或者用 sudo crontab -e 编辑 root 的 crontab。

让 AI 推理服务随系统启动

自动唤醒后,AI 服务得自己跑起来。
如果你用的 systemd 服务(比如 ollama 或自定义服务),确保已经 enable:

sudo systemctl enable ollama
sudo systemctl enable your-ai-service

这样机器一唤醒,服务就自动启动。
你也可以写个脚本在唤醒后做点额外检查(比如验证 GPU 是否正常)。

避坑指南

  • 休眠后网卡断电:有些主板在 S3 休眠时会切断网卡电源,导致 WOL 失效。解决方法:进 BIOS 找“Wake on LAN from S3/S5”之类的选项,或者“ErP Ready”设为 Disabled。
  • rtcwake 时区问题rtcwake 默认使用硬件时钟(RTC),如果你的 RTC 是 UTC 而系统时间用本地时区,算秒数时要小心。简单做法:统一用 UTC 或都用本地时间。也可以不设秒数,改用 -t 指定绝对时间戳。
  • crontab 环境变量:cron 执行环境可能没有 /usr/sbin 等路径,建议在命令里写绝对路径:/usr/sbin/rtcwake
  • 多次休眠唤醒导致 RTC 闹钟残留:如果中途手动唤醒过,可能旧的闹钟还在。可以用 sudo rtcwake -m disable 清除闹钟,再重新设置。

效果验证与能耗估算

完成配置后,先别急着重启。
手动执行一次 sudo rtcwake -m mem -s 60,机器会休眠 60 秒后自动唤醒。
等它自己醒来后,登录系统检查日志:

dmesg | grep rtcwake
dmesg | grep PM: suspend
systemctl status ollama

没问题的话,等晚上 crontab 自动执行。
第二天早上看机器是不是已经在运行了。

省多少电? 一个 150W 的推理主机,休眠时功耗通常降到 3-5W。
每天休眠 8 小时,一年能省约 (150-5)×8×365 / 1000 ≈ 423 度电,按 0.5 元/度算就是 211 元。
省下的钱加块内存不香吗?

遇到唤醒失败的情况,优先检查 BIOS 的 RTC 唤醒选项是否开启,以及网卡是否保持供电。
也欢迎你在评论区留下你的主板型号,大家一起踩坑排雷。

分享到:
上一篇
住宅主机闲置显卡多模型并行中转部署教程
下一篇
批量导入上游模型渠道密钥到OneAPI教程
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意