在笔记本(ThinkPad T440)连续两天因过热而死机后, 对内核的风扇控制算法果断失去信心.
风扇的用户层控制接口是 /proc/acpi/ibm/fan
, 但为防止用户控制不当烧坏机器, 默认情况下并没有对用户开放控制权. 这个由内核模块 thinkpad_acpi
控制, 可在加载该内核模块时传递参数 fan_control=1
打开风扇控制开关. 如果安装了 thinkfan
的话, 它包含文件 /usr/lib/modprobe.d/thinkpad_acpi.conf
, 其文件内容为:
options thinkpad_acpi fan_control=1
这样以后在开启启动加载 thinkpad_acpi
模块时会自动传递参数 fan_control=1
以便打开用户层控制开关.
然后就可以向 /proc/acpi/ibm/fan
写如特定数据控制风扇了, 比如说:
echo enable/disable > /proc/acpi/ibm/fan
: 启用/禁用风扇;echo level 1-7 > /proc/acpi/ibm/fan
: 设置风扇转速为 1-7 级, 等级越高转速越大;echo level auto > /proc/acpi/ibm/fan
: 由内核模块控制风扇转速(这就是默认配置, 烧死机了...);echo level full-speed/disengaged > /proc/acpi/ibm/fan
: 风扇启动最大转速