如何控制计算机的风扇速度?

在Windows上,有一个名为SpeedFan的精彩程序。

评论

我将ATI卡的简单cron解决方案放在了这里askubuntu.com/a/875241/375427

在Linux上,使用pwmconfig配置fancontrol。使用手表传感器观察CPU和GPU负载下的传感器。使用这些值在空闲和满载时分别将MINTEMP和MAXTEMP设置为INTERVAL = 1。随着负载的增加,这将使您的风扇实时增加。这是最活跃的冷却,为进一步调整提供了基准。运行一次pwmconfig,然后直接编辑/ etc / fancontrol。每次调整后运行sudo服务fancontrol重新启动。

#1 楼

开始之前请注意:
此功能取决于您的硬件和软件。如果您的硬件不支持风扇速度控制,或者不将其显示给操作系统,则很可能无法使用此解决方案。如果可以,但是软件(即内核)不知道如何控制它,那么您就没有运气了。




安装lm-sensors和fancontrol软件包。


按如下方式配置lm传感器:


在终端类型sudo sensors-detect中,对所有“是/否”问题回答“是”(可能,这可以损坏您的系统或导致系统崩溃对于许多系统而言,这是安全的。不能保证此过程不会永久损坏您的系统,我只是认为发生这种严重故障的可能性确实非常低。解决系统配置之前最终崩溃/冻结/重新启动始终是个好主意。如果不确定,请阅读注释并尝试在网上搜索并获得一些高级概述,然后再进行所有操作,也许您选择是- es仍然足够)。


在sensor-detect结束时,将显示需要加载的模块列表。键入“ yes”使传感器检测将那些模块插入/ etc / modules,或自己编辑/ etc / modules。


运行sudo service kmod start这将读取您对/etc/modules所做的更改步骤3,然后将新模块插入内核。


注意:如果您运行的是Ubuntu 12.04或更低版本,则此第三步命令应替换为sudo service module-init-tools restart
<在端子类型sudo pwmconfig中配置风扇控制

。该脚本将停止每个风扇5秒钟,以找出可以由哪个PWM手柄控制的风扇。在脚本循环遍历所有风扇之后,您可以配置哪个风扇对应哪个温度。
您将必须指定要使用的传感器。这有点棘手。如果只有一个风扇,请确保使用温度传感器作为核心,以控制风扇控制速度。
按照提示进行操作,然后将更改保存到默认位置。
进行调整以优化设置,调整/etc/fancontrol并使用sudo service fancontrol restart应用更改。 (在我的情况下,我将间隔设置为2秒。)



设置风扇控制服务

运行sudo service fancontrol start。这还将使fancontrol服务在系统启动时自动运行。
对于我使用的CPU /etc/fancontrol
hwmon0 / device / pwm2的设置:
(取决于hwmon0 / device / temp2_input)
(控制hwmon0 / device / fan2_input)
  INTERVAL=2
  MINTEMP=40  
  MAXTEMP=60  
  MINSTART=150  
  MINSTOP=0  
  MINPWM=0  
  MAXPWM=255 

在不同的系统上,它是:
  INTERVAL=10
  DEVPATH=hwmon1=devices/platform/coretemp.0 hwmon2=devices/platform/nct6775.2608
  DEVNAME=hwmon1=coretemp hwmon2=nct6779
  FCTEMPS=hwmon2/pwm2=hwmon1/temp2_input
  FCFANS=hwmon2/pwm2=hwmon2/fan2_input
  MINTEMP=hwmon2/pwm2=49
  MAXTEMP=hwmon2/pwm2=83
  MINSTART=hwmon2/pwm2=150
  MINSTOP=hwmon2/pwm2=15
  MINPWM=hwmon2/pwm2=14
  MAXPWM=hwmon2/pwm2=255

[这里] [1]是有关设置及其实际用途的一些有用信息。
[1]: https://www.systutorials.com/docs/linux/man/8-fancontrol/


评论


我试图按照您的指南进行操作,但是由于错误而陷入了第三步:/ usr / sbin / pwmconfig:未安装支持pwm的传感器模块

– tamale
2011-12-12 15:54



在运行sudo sensor-detect之前,pwmconfig遇到了同样的问题

–齿轮状墨菲
2012年1月1日12:16

如果sudo sensor-detect没有附带任何传感器怎么办? ->对不起,没有检测到传感器。您的系统没有传感器,或者它们不受支持,或者它们已连接到不受支持的I2C或SMBus适配器。如果您发现主板上有哪些芯片,请检查lm-sensors.org/wiki/Devices以获取驱动程序状态。

– H3R3T1K
2012年8月1日在8:23

如果遇到问题,请确保检查dmesg中是否有错误消息。就我而言,最近的内核更改使我无法加载必要的驱动程序,并且我必须在内核选项中添加acpi_enforce_resources = lax才能恢复旧功能。另请参阅:goo.gl/tUcr36

–布克佐尔
13年12月23日在17:49

我已经尝试过了,除了sudo pwmconfig我无法获得更多,因为我得到:“没有安装支持pwm的传感器模块”。这是在sensors-detect命令确实找到“英特尔数字热传感器”之后。我也尝试过该内核参数。谁能提出解决方案?

– Sman789
14年6月2日,0:05

#2 楼

如果您拥有ThinkPad,则有一个名为thinkfan的软件可以执行此操作。顾名思义,它是专门为ThinkPads(thinkpad_acpi)制造的。

标准ubuntu软件存储库中提供了thinkfan软件,但是它确实需要一些步骤来进行配置。

以下是一个简单的分步指南:

http://www.lxle.net/forums/discussion/821/how-to-set-up-thinkfan-on- a-lenovo-thinkpad-t430 / p1

(基本上是该德语指南的翻译版本:
http://thinkwiki.de/Thinkfan)


帖子中的相关信息:

步骤1.安装thinkfan软件和传感器:

sudo apt-get install thinkfan lm-sensors


步骤2。确保守护程序通过编辑thinkpad.conf文件来控制风扇:

sudo nano /etc/modprobe.d/thinkfan.conf


通过添加以下行:

options thinkpad_acpi fan_control=1


步骤3.通过编辑文件使守护程序在启动时自动加载:

sudo nano /etc/default/thinkfan


确保将START键设置为yes,即应该有一个这行内容如下:

START=yes


步骤4.检测笔记本电脑的传感器:

sudo sensors-detect


,只需选择每次按Enter提示时,系统都会提供默认答案。

步骤5。加载新模块。在ubuntu 13.10中,方法是:
步骤6.找出正在使用的传感器:

sudo service kmod start


(指示0度的传感器未使用,我不知道为什么那些也被“检测到”)。记住正在使用的传感器。

步骤7。找出这些传感器的完整路径:

sudo service module-init-tools start


输出应为列表/ sys / devices / ...之类的路径。

步骤8.将传感器的路径复制并粘贴到配置文件/etc/thinkpad.conf中。为此,请先打开文件:

sensors


应该已经有一行,如

find /sys/devices -type f -name "temp*_input"


(#符号表示该行已被注释掉)。添加以传感器开头的行(不带#符号),然后复制粘贴您的第一个传感器。如果您有多个传感器,请重复此步骤。例如,在我的机器上,步骤7中的输出将产生

sudo nano /etc/thinkfan.conf


我的机器上使用的是第一行和最后两行,所以我添加了三行:

#sensor /proc/acpi/ibm/thermal (0, 10, 15, 2, 10, 5, 0, 3, 0, 3) 


步骤9。最后,我们可以在配置文件中设置风扇速度级别。如果尚未打开/etc/thinkpad.conf文件,请打开它。

/sys/devices/virtual/hwmon/hwmon0/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp3_input
/sys/devices/platform/thinkpad_hwmon/temp4_input
/sys/devices/platform/thinkpad_hwmon/temp5_input
/sys/devices/platform/thinkpad_hwmon/temp6_input
/sys/devices/platform/thinkpad_hwmon/temp7_input
/sys/devices/platform/thinkpad_hwmon/temp1_input
/sys/devices/platform/thinkpad_hwmon/temp8_input
/sys/devices/platform/thinkpad_hwmon/temp2_input
/sys/devices/platform/coretemp.0/temp4_input
/sys/devices/platform/coretemp.0/temp2_input 


我在ThinkPad x201上使用的风扇级别为:

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


最后一行确保风扇全速运转(127 =“脱离”,即不受管制)。您可以根据自己的需要/愿望摆弄这些级别,但请务必小心!

步骤10。重新启动。现在一切正常。为了检查ThinkPad是否正确运行,请使用

sudo nano /etc/thinkfan.conf


,它将以详细模式启动thinkfan。您可能想先停止thinkfan守护程序:

(0, 0, 51)
(1, 50, 52)
(2, 51, 55)
(3, 54, 58)
(4, 56, 63)
(5, 60, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767) 


如果要再次启动thinkfan守护程序,请键入:

sudo thinkfan -n


刚刚完成,我的/etc/thinkfan.conf配置文件是:

sudo /etc/init.d/thinkfan stop


评论


一条评论:您希望表中注释的温度值有更大的重叠。特别是在45-55范围内。否则,风扇速度会持续波动。真令人不安。 (恒定的风扇噪声不会像波动的噪声那样干扰。)

–朱洪波
2015年2月6日在16:36

我们(Linux社区)真的很喜欢UX。 :(设置风扇速度不应该是10个步骤。

–亚历山大
17年2月28日在22:53

@Alexander如果对此深有感触,可以自由编写和维护一个小程序来自动化此过程。

–克里斯
17 Mar 2 '17 at 22:14

@Kris我将更倾向于修改原始程序,使其没有这种荒谬的配置过程。 las,我没有一个ThinkPad,我只是路过这篇文章,寻找那里可用的风扇控制选项。

–亚历山大
17 Mar 2 '17 at 22:18

我的Ubuntu 14.04中不存在/etc/modprobe.d/thinkfan.conf。现在怎么办?

–Youda008
17年5月15日在18:43

#3 楼

对于几台Dell计算机,您可以安装i8kutils软件包:内核模块:

sudo apt install i8kutils


评论


我有Dell XPS 14 L421X。 sensors 没有显示粉丝。安装i8kutils软件包后,我得到传感器coretemp-isa-0000适配器:ISA适配器物理ID 0:+ 54.0°C(高= + 87.0°C,暴击= + 105.0°C)核心0:+ 50.0°C(高= + 87.0°C,临界= + 105.0°C)核心1:+ 52.0°C(高= + 87.0°C,临界= + 105.0°C)i8k-virtual-0适配器:虚拟设备右风扇:0 RPM CPU: + 55.0°摄氏度

– philcolbourn
17年1月8日在22:21

这对hp有效吗?

–不道德的玩家
17年9月2日在7:35

@ immortal-player,我认为不会。内核模块是专门为Dell计算机设计的。

– Morhook
17-09-10 13:06



也许要补充一点,对于苹果公司来说,有macfanctld和mbpfan;对于ThinkPad,就有了thinkfan

–rubo77
19年8月1日在7:19



通过apt软件包,您将获得三个命令:i8kctl,i8kfan,i8kmon @Michael

– Morhook
20年6月7日在15:18



#4 楼

安装并配置流明传感器和风扇控制软件包:

sudo apt-get install lm-sensors fancontrol


有关配置它们的文档可在其手册页上找到。

此功能应该由符合ACPI的BIOS提供,但似乎大多数主板供应商都不会理会该标准。

评论


您能否提供有关如何安装和使用它们的更详细的说明?

– Stefano Palazzo
2011-1-18 14:43

您可以在手册页或www.lm-sensors.org上找到它。

–psusi
2011年1月18日在16:39

我知道,我只是想这个答案可能会更好:)

– Stefano Palazzo
2011年1月19日13:22

@psusi提供的链接不起作用,新的链接在这里:github.com/groeck/lm-sensors

– Svetlana Belkin
'18 Apr 12在0:13



我认为您的用户名拼写错误。

– Markroxor
18年5月21日在17:29

#5 楼

这是一个更新的答案,它基于建议使用Thinkfan但可以在Ubuntu 19.04上使用的答案以及除ThinkPads以外的其他计算机上的答案。

1。设置

以下说明适用于具有/proc/acpi/ibm/fan/proc/acpi/ibm/thermal“旧版”设备的任何ThinkPad。这样可以避免安装lm-sensors软件包。

但是,您仍然可以选择安装lm-sensors。它将为您提供更多的温度传感器和对风扇的更细粒度的控制,即以256 PWM步进,而不是传统设备的固定步进“ 0-7和127”。另外,由于thinkfan现在可以与lm-sensors传感器一起使用,因此它不再特定于IBM / Lenovo ThinkPad计算机。有关使用这些“扩展”传感器设备的信息,请参阅man thinkfan。另外,德语ThinkWiki中包含最新信息。



安装所需的软件包:

sudo apt install thinkfan



将以下行添加到/etc/modprobe.d/thinkfan.conf中:

options thinkpad_acpi fan_control=1



thinkfan服务配置为在系统启动时自动启动:


将行START=yes添加到/etc/default/thinkfan

执行以下命令(源代码):

sudo systemctl enable thinkfan.service





使用正确的指针和所需的风扇级别来适配/etc/thinkfan.conf。那里的评论提供了文档。在任何装有旧版fanthermal设备的Thinkpad上,以下内容应为您提供一个很好的起点(对于硬盘也应是安全的,请参阅文件中的注释以获取更多信息)。请注意,这使用了新的关键字-其他答案中的关键字现已弃用。

tp_fan /proc/acpi/ibm/fan
tp_thermal /proc/acpi/ibm/thermal

(0, 0, 47)
(1, 43, 52)
(2, 48, 55)
(3, 51, 58)
(4, 54, 63)
(5, 59, 70)
(6, 66, 79)
(7, 74, 92)
(127, 85, 32767) 



2。测试

要测试设置(重新启动后),可以执行以下操作:



在一个终端窗口中,在非-daemonized模式,因此您可以查看其消息:

sudo service thinkfan stop && sudo thinkfan -n



在另一个终端窗口中,注意当前的温度值,如有不同,请向您提供温度探测器设备:

while true; do sleep 1; cat /proc/acpi/ibm/thermal; done



在另一个终端窗口中,使CPU中有一些热量(如果热管理中的某些功能无法正常工作,请用Ctrl + C中断):

sudo apt install stress-ng
stress-ng --cpu-1




评论


太棒了这用Pop_OS 19.04解决了我的T490的问题。风扇仍然启动,但并非一直持续。

– Nitai
19年9月19日在14:56

较新的ThinkPad设备没有/ proc / acpi / ibm / thermal,因此有必要针对这种情况做一些额外的工作(方便地在该出色的德语ThinkWiki页面上列出)。我似乎已经为我工作了,因此我可以更新您的答案或创建另一个答案。谢谢!

–悬崖
19-10-10在1:06



悬崖,正确的文件夹是什么?我收到此错误:/ proc / acpi / ibm / thermal:没有这样的文件或目录add_sensor:获取温度时出错。拒绝在没有可用配置文件的情况下运行!

–肯德尔
19-10-28在16:17



好吧..我知道了。我将其用于T480:wmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp1_input hwmon /sys/devices/platform/coretemp.0/hwmon/hwmon1/temp5_input hwmon /sys/devices/platform/coretemp.0 .0 / hwmon / hwmon1 / temp2_input(0,0,47)(1、43、52)(2、48、55)(3、51、58)(4、54、63)(5、59、70) (6,66,79)(7,74,92)(127,85,32767)

–肯德尔
19-10-28在16:58



我找不到/etc/modprobe.d/thinkfan.conf,只有/etc/default/thinkfan.conf

– Paul Jones
20年8月23日在17:27

#6 楼

尝试查看PC的UEFI设置(或BIOS设置)。可能存在风扇控制设置,您可以将风扇放入Silent ModePerformance ModeFull SpeedCustomize等。
如何访问UEFI设置:重新启动PC,输入它们的密钥可能会显示在角落之一(例如Press F2 to enter UEFI setup


评论


这是AskUbuntu而不是AskUEFI :)

–马丁
18/12/13在17:39

@Maarten当然,此解决方案与操作系统无关,非常简单,不需要安装其他软件。

– xjcl
19/12/3在15:24

@xjcl您的答案中的链接已死。

–格雷戈里·阿雷纽斯(Gregory Arenius)
20-2-20在7:54

Wayback机器可以营救!

– xjcl
20年6月27日在19:25