使用 Python 和 Grafana 实现更好的 PC 冷却

主要观点:作者将 Ryzen 3700X 升级为 5950X 后,未升级冷却系统,导致 5950X 工作时电脑噪音变大、风扇转速忽高忽低。作者通过编写 Python 脚本,利用 liquidctl 控制泵速,结合 sysfs/hwmon 读取温度和控制风扇转速,实现基于 CPU 温度控制泵速、基于液体温度控制风扇转速,以减少风扇转速波动、降低噪音和灰尘等。同时使用 Grafana 进行性能监测,并提出未来的改进方向,如混合模式、抽象化、集成监测、失速速度检测、拍频消除、通用降压和更换更好的风扇及热界面材料等。

关键信息:

  • 升级硬件:从 Ryzen 3700X 升级到 5950X,核心翻倍,热量输出增加。
  • 冷却系统:原冷却系统为 240mm Kraken X53 AIO 液冷散热器,无法自行控制风扇。
  • 问题表现:5950X 工作时电脑噪音大,风扇转速忽高忽低,可能与 CPU 温度快速波动及散热器风扇控制方式有关。
  • 解决方案:编写 Python 脚本,利用 liquidctl 控制泵速,sysfs/hwmon 读取温度和控制风扇转速,实现基于温度的精确控制。
  • Grafana 监测:使用 Grafana 结合 influxDB 进行性能监测,设置数据堆栈时遇到一些术语和连接问题。
  • 结果对比:新控制方案使风扇转速变化更平缓,CPU 温度峰值消失,冷却效果和声学性能显著提升。
  • 未来改进:包括混合模式、抽象化、集成监测、失速速度检测等方面。

重要细节:

  • Noctua 风扇最小启动 duty 约为 11%,200RPM,启动速度低于保证值,可减少噪音和灰尘。
  • 控制循环读取 3 种温度(液体、机箱和 CPU),并将其线性缩放为 3 种 PWM 占空比,控制泵、机箱风扇和散热器风扇。
  • 在 Grafana 中设置数据堆栈时,需注意 InfluxDB 的术语和连接方式,API 密钥需放在 InfluxDB Details 的密码字段。
  • 未来改进方向包括实现混合模式以减少灰尘、抽象化使脚本可用于其他机器、集成监测进行长期分析、检测失速速度、消除拍频、通用降压以及更换更好的风扇和热界面材料等。
阅读 16
0 条评论