工控软路由7×24散热改造:代理ip不掉线的温度阈值与风扇启停脚本
把工控机当软路由跑代理IP,最怕半夜掉线。十次掉线九次是CPU烫到降频,防火墙直接罢工。今天把我在机房里踩过的坑一次说完:怎么让散热跟代理IP一样稳,7×24不熄火,顺带把风扇脚本开源,复制粘贴就能用。
一、为什么代理IP一烫就断
代理ip池走的是加密隧道,CPU要不停加解密。温度超过80 ℃,Intel会瞬间把主频从2.6 GHz拉到0.8 GHz,吞吐量掉七成,IP商那边收不到心跳,直接回收IP,于是“掉线”两个字就弹出来了。想不掉线,先把温度压到75 ℃以下,这是硬门槛。
二、工控机散热三件宝
- 铝鳍黑化散热片:淘宝搜“工控机 3535 铝散热片”,20 块一片,比原装大一圈,导热硅脂用 9W/m·K 的,别省。
- 4010 磁悬浮风扇:5V 0.2A,噪音 18dB,比空调声还小,风量却够吹穿机箱。
- 温度探头:DS18B20 防水版,误差 ±0.5 ℃,插在散热片缝隙,1 秒读一次,比主板传感器准。
三、风扇启停脚本(Python 版)
把下面代码存成 /usr/local/bin/fanctl.py,给执行权限,丢进 systemd 就完事。
#!/usr/bin/env python3
import RPi.GPIO as GPIO, time, os
FAN_PIN = 18; LOW=70; HIGH=75; GPIO.setmode(GPIO.BCM); GPIO.setup(FAN_PIN, GPIO.OUT)
def temp(): return int(os.popen('cat /sys/class/thermal/thermal_zone0/temp').read())//1000
while True:
t=temp()
GPIO.output(FAN_PIN, t>HIGH or (t>LOW and GPIO.input(FAN_PIN)))
time.sleep(3)
逻辑简单粗暴:低于 70 ℃ 停,高于 75 ℃ 转,中间回差 5 ℃,防止频繁启停。用 cron 每 10 分钟拉一次代理IP心跳,风扇脚本不会占用 CPU,1 年不重启也稳。
四、BIOS 隐藏设置别忽略
进 BIOS 把“CPU Turbo Mode”关掉,再锁 35W TDP,温度直接降 8 ℃。别心疼性能,代理IP加密流量 200M 宽带才占 15% CPU,降频后依旧跑满。
五、机房实战温度曲线
改造前:凌晨 3 点 87 ℃,IP 掉光;改造后:全天 68—73 ℃ 徘徊,30 天 0 掉线。把曲线截图发给客户,续费立刻爽快。
六、脚本还能再玩花
把温度上报到 Prometheus,配个 Grafana 面板,手机随时看;再写个 Webhook,温度超 75 ℃ 就推送到微信,代理IP掉线之前你就收到预警,比 IP 商还快。
七、常见翻车点
风扇接 5V 却用 12V 电源,一插电就冒烟;温度探头贴错位置,读到的是机箱温度,CPU 都 90 ℃ 了还悠哉停转;脚本没加异常捕获,GPIO 被占用直接退出,风扇永久罢工。记住:上线前用 stress -c 4 烤机 30 分钟,温度稳得住再扔机房。
八、一句话总结
代理IP不掉线的尽头是温度控制,把 CPU 摁在 75 ℃ 以下,风扇脚本跑起来,工控软路由就能像国企一样稳定——不加班,不请假,不出错。
采购代理IP请添加微信客户经理:x31471626
评论0