Web Analytics

hddfancontrol

⭐ 186 stars Simplified Chinese by desbma

硬盘风扇控制

CI 状态 crates.io 版本 AUR 版本 许可证


自 2.0 版本起,该工具已用 Rust 重写。之前的 Python 版本可在 v1 分支 中找到。有关迁移,请参见 从 v1.x 迁移


硬盘风扇控制是一个命令行工具,用于根据 Linux 上硬盘温度动态控制风扇转速。

这有三个好处:

因为风扇在不需要时会减速或停止:

目录

什么时候有用?

HDD 风扇控制在您有一个或多个硬盘,并且有一个或多个风扇靠近它们时非常有用,且不希望主板控制风扇速度,因为主板要么静态控制,要么使用与实际硬盘温度无关的温度传感器(可能在 CPU 上或主板的其他位置)。

理想的使用场景是带有多个硬盘、低功耗 CPU(如 ARM 或 Intel Atom)且采用无风扇被动散热的 NAS,机箱中有靠近硬盘的风扇。在这种情况下,CPU 产生的热量比硬盘少,因此根据主要热源控制风扇速度更合理。

功能

先决条件

大多数主板和 SATA 硬盘均满足这些要求。

\* 有多份报告显示 hddfancontrol 在 SAS 硬盘上表现良好,但该情况测试少于 SATA。

安装

发行版软件包

一些 Linux 发行版在其仓库中提供了 hddfancontrol 软件包:

有关每个标记版本构建的其他软件包/二进制文件,请参见 GitHub 发布页面

从源码安装

您需要一个 Rust 构建环境,例如来自 rustup

在当前仓库中运行:

cargo build --release
install -Dm 755 -t /usr/local/bin target/release/hddfancontrol
还需安装 hdparmsmartctlsdparm(用于支持 SAS 硬盘),以及可选的 hddtemp。 在最新的 Ubuntu 和其他 Debian 衍生版本上:sudo apt install hdparm sdparm smartmontools

参见 systemd 服务 以便轻松管理守护进程。

来自 crates.io

sudo cargo install --root /usr/local

配置

注意事项

默认参数将在温度 > 50°C 时以 100% 转速运行风扇,在温度 < 30°C 时以 20% 转速运行风扇,这对应于通常推荐的驱动器工作温度。如果您确定系统中没有其他产生显著热量的组件,或者您有其他风扇来冷却系统,或者您有一个优化了被动冷却的机箱,您可以将最低转速设置为 0%,这样在温度低于最低阈值时风扇将停止转动。

请注意,错误配置此工具可能导致系统无法正确冷却,从而损坏组件或缩短其寿命。

在长时间无人监控使用 HDD 风扇控制前,建议保持最低风扇转速以确保安全,并检查系统温度是否保持在合理范围内。

风扇配置

要获取 --pwm 参数的启动/停止值,您可以:

更新日志

请参阅 详细更新日志 查看自初始版本 2 以来的所有变更。

从 v1.x 迁移

在版本 2 中,hddfancontrol 完全用 Rust 语言重写。与版本 1 相比,主要变化包括:

命令行用法

运行 hddfancontrol -h 可获取完整命令行参考。

例如,下面的命令行将指示 HDD 风扇控制:

hddfancontrol daemon -d /dev/sda /dev/sdb -p /sys/class/hwmon/hwmon1/device/pwm2:200:75 /sys/class/hwmon/hwmon1/device/pwm3:200:75 --min-fan-speed-prct 10 -i 1min

systemd 服务

提供了一个 systemd 服务文件以便轻松控制守护进程。 如果你是通过发行版包安装的 hddfancontrol,通常已经安装了该服务文件,否则你可以从本仓库源码安装:

sudo install -Dm 644 ./systemd/hddfancontrol.service /etc/systemd/system/hddfancontrol.service
sudo install -Dm 644 ./systemd/hddfancontrol.conf /etc/conf.d/hddfancontrol

然后您需要编辑 /etc/conf.d/hddfancontrol 中的 HDDFANCONTROL_DAEMON_ARGS 变量来设置参数(硬盘,温度范围等)。

然后您可以使用 sudo systemctl start hddfancontrol 启动守护进程,使用 sudo systemctl status hddfancontrol 查看其状态,并使用 sudo systemctl enable hddfancontrol 启用开机自动启动。

许可协议

GPLv3

--- Tranlated By Open Ai Tx | Last indexed: 2025-12-09 ---