释放小七猫的分享欲

Linux 系统的 NAS 之路——降低待机功耗

tags: Linux, NAS
@ 12/08/2026

Linux 系统的 NAS 之路(可选)——降低待机功耗

这部分内容提供了以 Q1J4 主板为例的待机功耗降低策略,由于主板种类数量众多,经验无法适用于所有人,但设置思路可供参考。

系统内 CPU 节能

安装 cpupower:

sudo dnf install cpupower

执行 cpupower frequency-info 命令查看当前 CPU 某个核心的运行情况:

❯ cpupower frequency-info
分析 CPU 0:
  driver: intel_pstate
  以相同硬件频率运行的 CPU:0
  需要通过软件协调频率的 CPU:0
  energy performance preference: balance-performance
  硬件限制:400 MHz - 4.80 GHz
  可用的cpufreq调节器:performance powersave
  当前政策:频率应在400 MHz和4.80 GHz.
                  调速器“powersave”可以决定使用哪种速度
                   在这个范围内。
  current CPU frequency: Unable to call hardware
  current CPU frequency: 1.80 GHz (asserted by call to kernel)
  boost state support:
    支持:是
    活跃:是

从频率范围可以看出,这应该是个大核,需要注意几个信息:

  1. driver:interl_pstate 意思是 CPU 自行调节功耗,cpupower 下发的指令只会作为参考,这有可能导致使用 cpupower 调节 epp 可能不起作用。
  2. energy performance preference: balance-performance,就是 epp,默认都是平衡模式。
  3. 可用的 cpufreq 调节器:performance powersave。
  4. current CPU frequency: 1.80 GHz (asserted by call to kernel)。可见无负载状态下,CPU 仍然以较高频率运行。

通过 cpupower 可以配置两个选项:

# 将系统的能源性能偏好设置为偏向节能的 power 模式。
sudo cpupower set -e power
# 将 CPU 频率锁定在最低值以最大程度省电
sudo cpupower frequency-set -g powersave

由于我这台机器的 driver 为 intel_pstate,导致这两条命令不起作用。但在我其他主板上,由于 driver 不同,这条命令会生效,大概能够降低 10W 待机功耗。

不支持也没关系,可以在 BIOS 中调节硬件选项降低功耗。

硬盘休眠

硬盘永远是 NAS 功耗的真正大头,不想总是开关机的话,硬盘休眠也是个不错的选项,但我建议仅休眠那些确实不常访问的硬盘。

安装 hdparm 软件:

sudo dnf install hdparm

查看当前硬盘状态:

❯ sudo hdparm -C /dev/sd{a,b}

/dev/sda:
 drive state is:  standby

/dev/sdb:
 drive state is:  active/idle

standby 表示已休眠,active 表示正在运行。

通过 sudo hdparm -y /dev/sda 命令可以直接休眠某块硬盘。

通过 sudo hdparm -S 120 /dev/sda 设定休眠时间,120 x 5 秒内无读写,就会自动休眠。

但这个设定是一次性的,重启就会丢失,因此需要添加一个系统服务来开机自动设定休眠:

sudo vim /etc/systemd/system/hdparm-all.service

[Unit]
Description=Set HDD standby timeout for all drives
After=multi-user.target

[Service]
Type=oneshot
ExecStart=/bin/sh -c '/usr/sbin/hdparm -S 240 /dev/sda && /usr/sbin/hdparm -S 240 /dev/sdb'
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

每次开机之时,硬盘休眠策略会自动设定好。

❯ sudo hdparm -C /dev/sd{a,b,c,d}

/dev/sda:
 drive state is:  standby

/dev/sdb:
 drive state is:  standby

/dev/sdc:
 drive state is:  standby

/dev/sdd:
 drive state is:  standby

我这里休眠了四块硬盘,功耗降低约 20W。

再次强调,经常访问的硬盘不建议做休眠,经常访问的服务已经被我搬到了固态盘,所以我才把机械盘做休眠的。

关机

不是开玩笑,如果你的 NAS 服务用得不是很频繁,关机就是最安全、最省电、最静音的方式。

不过我们需要留一个远程开机的后手,避免需要使用的时候访问不到。

  1. 网络唤醒

这是最简单的方案,配置一个开机自启动的服务脚本 /etc/systemd/system/wol-enp4s0.service:

[Unit]
Description=Enable Wake-on-LAN on enp4s0

[Service]
Type=oneshot
ExecStart=/usr/bin/ethtool -s enp4s0 wol g
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

添加自启动即可 sudo systemctl enable wol-enp4s0 --now

但这个方案一旦遇上主板断电,就无法唤醒了,终究是不完全可靠。

  1. 智能插座 + 来电自启

这个方案很稳,缺点是需要额外购买一个智能插座,接入米家后可以很方便地遥控开机。

缺点是来电就一定会开机,有时候不想它开就很麻烦,但这实在是小问题,并且智能插座还是帮你监控功耗,计算电费,我认为应该人手一个。

  1. 米家开机卡

与智能插座不同,米家开机卡是直接接到开机跳线上的,基本等同于你人为按了一下开机键,可以避免来电自启可能遇到的奇奇怪怪的问题,还可以接入米家语音操控。

缺点也很明显,真的就只有开机功能,还会占用一个 pcie 插槽,但价格比智能插座便宜,一般是 PC 用这个,NAS 还是智能插座靠谱。

BIOS 功耗调节(Q1J2-4 系列)

最后一项设置为 Max Battery,待机后会自动降频到 500MHz。