住宅机器定时休眠省电自动唤醒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: pumbg 和 Wake-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,自动唤醒用 rtcwake。rtcwake 可以设定在指定时间后自动唤醒(基于 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
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意