thinkfan control 在需要时不会充分利用风扇的潜力

Tib*_* C. 6 fan laptop overheating temperature

我拥有一台 Thinkpad x201,并且由于环境温度而过热非常快,最终在没有通知的情况下自杀(这真的磨坏了我的齿轮)。

外面有 34 摄氏度,而计算机在没有重要任务的情况下将其温度升至 80 度,并在执行较重的任务时达到(每秒 1 度)到 100 度。

我遵循了更早启动风扇的指南,以便它保持恒温或在临界温度下使用最大速度,但它仍然坚持自动值。

技术方面

我使用的资源位于此处:http : //staff.science.uva.nl/~kholshei/thinkfan_guide/

我调整了这些值,以便风扇在较低的温度下启动,从 0 到 20 度开始,级别为 0,依此类推。

我对 /etc/thinlfan.conf 的配置是:

$ tail -n 15 /etc/thinkfan.conf

sensor /sys/devices/virtual/hwmon/hwmon0/temp1_input
sensor /sys/devices/platform/coretemp.0/temp4_input
sensor /sys/devices/platform/coretemp.0/temp2_input

(0, 0, 21)
(1, 20, 22)
(2, 21, 25)
(3, 24, 28)
(4, 26, 33)
(5, 30, 40)
(6, 36, 49)
(7, 44, 62)
(128, 60, 65)
(129, 63, 100000)
Run Code Online (Sandbox Code Playgroud)

最后两个值是实验值。

当我运行时:

$ sudo thinkfan -n

WARNING: Using default fan control in /proc/acpi/ibm/fan.
Run Code Online (Sandbox Code Playgroud)

当我运行时:

$ echo level disengaged | sudo tee /proc/acpi/ibm/fan 
Run Code Online (Sandbox Code Playgroud)

风扇大约旋转。6500 RPM 这实际上是有效的(温度缓慢下降),但在切换回自动后,它会保持在这个水平大约 5 秒。

我的问题是:在这些炎热的日子里,我如何手动将风扇速度设置为最大潜力/如何调整这些值以使温度不会升高太多?

今天是我第一次尝试这个,所以不要指望我知道除了设置一个可以设置每秒级别的 cron 作业之外我还能尝试什么——这是一个糟糕的想法。

最后一件事:我不能停止工作,最重要的是我更喜欢不时更换风扇而不是处理器。

感谢您的帮助和理解,如果您需要任何其他细节,请告诉我。

哦...这是我的 lsb_release:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 13.10
Release:        13.10
Codename:       saucy
Run Code Online (Sandbox Code Playgroud)

...和姓名:

$  uname -r      
3.11.0-23-generic
Run Code Online (Sandbox Code Playgroud)

小智 7

我在我的联想 Thinkpad x220 中使用过(这是与系统相关的更新答案 systemd

sudo -i
Run Code Online (Sandbox Code Playgroud)

这是我的 Lenovo Thinkpad x220 的结果:

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp3_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp1_input
/sys/devices/platform/coretemp.0/hwmon/hwmon2/temp2_input
Run Code Online (Sandbox Code Playgroud)

结果将是这样的:

? thinkfan.service - simple and lightweight fan control program
   Loaded: loaded (/lib/systemd/system/thinkfan.service; enabled; vendor preset: enabled)
   Active: active (running) since Jum 2016-10-07 20:09:30 WIB; 28min ago
  Process: 2494 ExecStart=/usr/sbin/thinkfan (code=exited, status=0/SUCCESS)
 Main PID: 2496 (thinkfan)
   CGroup: /system.slice/thinkfan.service
           ??2496 /usr/sbin/thinkfan

Okt 07 20:09:30 thinkpad-x220 systemd[1]: Starting simple and lightweight fan control program...
Okt 07 20:09:30 thinkpad-x220 thinkfan[2494]: thinkfan 0.9.1 starting...
Okt 07 20:09:30 thinkpad-x220 thinkfan[2494]: Daemon PID: 2496
Okt 07 20:09:30 thinkpad-x220 systemd[1]: Started simple and lightweight fan control program.
Run Code Online (Sandbox Code Playgroud)


pan*_*.de 4

尝试一下这个配置,它在 Lenovo ThinkPad L512 / L520 上运行良好:

安装thinkfan

sudo apt-get install -y thinkfan
Run Code Online (Sandbox Code Playgroud)

配置内核模块

echo "options thinkpad_acpi fan_control=1" > /etc/modprobe.d/thinkpad_acpi.conf
Run Code Online (Sandbox Code Playgroud)

重新加载内核模块

modprobe -r thinkpad_acpi && modprobe thinkpad_acpi
Run Code Online (Sandbox Code Playgroud)

配置thinkfan

sudo sed -i 's|START=no|START=yes|' /etc/default/thinkfan
sudo sed -i 's|DAEMON_ARGS="-q"|DAEMON_ARGS="-q -b 1 -s 15"|' /etc/default/thinkfan

cat <<EOF> /etc/thinkfan.conf
hwmon /sys/devices/virtual/hwmon/hwmon0/temp1_input
(0, 0,  65)
(1, 65, 70)
(2, 70, 75)
(3, 75, 80)
(4, 80, 85)
(5, 85, 90)
(7, 90, 32767)
EOF
Run Code Online (Sandbox Code Playgroud)

重新启动 thinkfan 守护进程

/etc/init.d/thinkfan restart
Run Code Online (Sandbox Code Playgroud)


Tib*_* C. 1

经过进一步的研究,这就是我设法使其按我的意愿工作的方法。

自定义温度阈值 - 风扇速度配置

我已经thinkfan从 apt 安装了(说实话我不记得它是否已经安装了:-S)

确保检查您是否有一个名为thinkfan

命令行界面:

ps -ef | grep thinkfan
Run Code Online (Sandbox Code Playgroud)

如果不存在,请安装它

命令行界面:

sudo apt-get install thinkfan 
Run Code Online (Sandbox Code Playgroud)

它的配置位于/etc/thinkfan.conf

映射温度 - 速度的定义如以下代码片段所示:

...
(0, 0, 21)
(1, 20, 22)
(2, 21, 25)
...
Run Code Online (Sandbox Code Playgroud)

每个组定义以下值(level、minTemperature、maxTemperature),另一个规则是组之间必须相互重叠。

级别被定义为整数,而不是我最初想象的字符串,如下所示:

  • 0 - 7 - 八个级别点,从 0 到 ~4200RPM
  • 126 - 最大速度
  • 127 - 脱离 ~6900RPM

我的配置/etc/thinkfan.conf现在看起来像这样:

(0, 0, 21)
(1, 20, 22)
(2, 21, 25)
(3, 24, 28)
(4, 26, 33)
(5, 30, 40)
(6, 36, 49)
(7, 44, 52)
(126, 50, 59)
(127, 57, 100000)
Run Code Online (Sandbox Code Playgroud)

温度值或多或少是根据psensor的图表计算出来的,该图表非常清楚地表明我的风扇效率低下,但考虑到笔记本电脑相当旧,我认为这是正常的。