Imac with Ubuntu (Lubuntu 20.04) - 控制风扇速度

HaW*_*iZu 5 mac fancontrol

情况

我将旧的 Imac(2008)换成了 Lubuntu。虽然它运行顺畅,我需要做的所有事情,启动 CPU 风扇 20 分钟后开始变得超级响亮。这是 psensor 的屏幕截图: psensor 屏幕截图 psensor 屏幕截图

基本上,TD0D 和 temp1 两个传感器会看到温度升高,直到达到 105°C,这会触发 CPU 风扇速度的增加。这个风扇逐渐加速,直到它的最大值,3600 RPM,这使得 imac 非常响亮。这确实降低了这两个传感器的温度,直到达到 80°C,但这还不足以降低风扇速度。

这很烦人,因为我认为例如将固定速度设置为 2000 RPM,温度会稳定在可接受的温度,希望低于 90°C,而噪音仍然可以接受。

到目前为止我尝试过的

我尝试按照此处描述的步骤操作:如何控制风扇速度?,所以基本上设置 lm-sensors,然后在 pwmconfig 的帮助下设置 fancontrol 但是 pwmconfig 回答:没有安装支持 pwm 的传感器模块 即使在将模块 applesmc 添加到 /etc/modules 并重新启动之后,也没有机会。

我也尝试安装 mbpfan:https : //github.com/linux-on-mac/mbpfan但它适用于 macbook 而不是 imacs,结果似乎只考虑了一个传感器,然后所有风扇速度同时提高,这对我来说没有帮助(参见https://github.com/linux-on-mac/mbpfan/issues/211

我认为可行但不确定如何

pwmconfig “只是”创建风扇控制设置文件的助手。所以我可以简单地自己制作这个设置文件,并为 CPU 风扇设置 200 RPM 的最低速度。但我不确定这是否可行,因为也许 fancontrol 只能控制 PWM 风扇,而不知何故 imac 风扇不是 PWM。另外,如果它可以工作,我不确定每个风扇应该放在那个文件中的路径是什么,我可以找到一个设置文件的例子。

那么:风扇控制可以工作吗?如果没有,您还有其他想法吗?

实际上,我意识到问题似乎来自 GPU,因为 temp1 似乎在 Radeon PCI 部分。我的 imac 有一个 Radeon RV630 显卡。是否有更好的驱动程序可以减少加热?这是在浏览互联网甚至不做任何事情时发生的,所以它与复杂的图形计算无关......

如果有帮助,这里是传感器的输出

applesmc-isa-0300
Adapter: ISA adapter
ODD :         698 RPM  (min =  700 RPM, max = 4800 RPM)
HDD :        1229 RPM  (min = 1200 RPM, max = 5900 RPM)
CPU :        3602 RPM  (min = 1200 RPM, max = 3600 RPM)
TA0P:         +27.8°C  
TC0D:         +50.5°C  
TC0H:         +49.8°C  
TC0P:         +50.0°C  
TG0D:         +78.8°C  
TG0H:         +66.2°C  
TG0P:         +71.0°C  
TH0P:         +57.8°C  
TL0P:         +58.0°C  
TO0P:         +49.8°C  
ERROR: Can't get value of subfeature temp11_input: I/O error
TW0P:             N/A  
Tm0P:         +53.2°C  
Tp0P:         +82.8°C  

radeon-pci-0100
Adapter: PCI adapter
temp1:        +80.0°C  

coretemp-isa-0000
Adapter: ISA adapter
Core 0:       +49.0°C  (high = +105.0°C, crit = +105.0°C)
Core 1:       +59.0°C  (high = +105.0°C, crit = +105.0°C)
Run Code Online (Sandbox Code Playgroud)

非常感谢您的帮助!

小智 6

我有一台 2011 年的 iMac,mbpfan它是最简单的风扇控制解决方案。


小智 5

首先也是最重要的,我不运行 Ubuntu,我运行 MX Linux,但由于 MX Linux 兼容 Debian,并且 Ubuntu 具有类似的 Debian 类型基础,因此相同的工具应该可以正常工作。

\n

我刚刚将我儿子的 2006 年 iMac 换成了 2010 年型号,我发现以前的主人在安装 SSD 时拆下了 HDD 传感器,因此内部风扇全速运转,转速高达 6000rpm,而且声音很大,非常吵闹。很响。

\n

我简单地安装了 mbpfan,几秒钟之内,无需执行任何其他操作,所有风扇的转速都降至大约 1200 rpm,并基本上保持在那里。经过一天的使用并使用传感器查看器测量热量范围后,我认为机器的运行有点过于警告我的喜好,所以我按照一些简单的说明来获取我需要的信息。下面的 2 个命令生成最小和最大风扇速度结果,但请记住 mbpfan 仅控制 CPU 风扇速度。

\n
cat /sys/devices/platform/applesmc.768/fan*_min\ncat /sys/devices/platform/applesmc.768/fan*_max\n
Run Code Online (Sandbox Code Playgroud)\n

深入挖掘,我发现这台机器的值是

\n
ODD min 1000  max 4350\nCPU min 1100  max 6300\nHDD min 1200  max 4000\n
Run Code Online (Sandbox Code Playgroud)\n

下一个命令确定 CPU 的最高热值之前的最高温度

\n
cat /sys/devices/platform/coretemp.*/hwmon/hwmon*/temp*_max\n
Run Code Online (Sandbox Code Playgroud)\n

无论结果如何,除以 1000 即可得到以摄氏度为单位的温度。这台机器是 89000 \xc3\xb7 1000 = 89\xc2\xb0c

\n

有了这些信息,我只需在 /etc/mbpfan 中编辑 3 行,就可以让系统在热量增加时更快地开始提高风扇速度。我改变了这些值

\n
low_temp = 55\nhigh_temp = 65\nmax_temp = 88\n
Run Code Online (Sandbox Code Playgroud)\n

\n
low_temp = 50\nhigh_temp = 60\nmax_temp = 85\n
Run Code Online (Sandbox Code Playgroud)\n

现在机器的运行温度降低了几度。随着温度升高,噪音会增加一些,但我们听不到鱼缸上方的水叮当作响和冒泡的声音,所以这是完全可以接受的。

\n

简单有效。

\n


小智 5

我注意到与 Mike Pavletich 相同的事情,并编写了一个 shell 脚本来更轻松地编写这些文件,这不是完美的解决方案,但我可以手动调节它们检查以及sensors命令

https://github.com/juampapo546/fan-control

它已在 2011 年 iMac 上进行了测试,但应该也适用于较旧的 iMac


HaW*_*iZu 2

好吧,我在我这边进步了一点,在这里回复,以防有一天对其他人有帮助。

我找到了一种方法来控制我的 imac 的所有 3 个风扇(CPU、HD、光驱): macfanctld (参见http://manpages.ubuntu.com/manpages/bionic/man1/macfanctld.1.html)我重新编译了它此处建议的更改https://github.com/MikaelStrom/macfanctld/pull/11因为它无法控制 CPU 风扇。

现在我可以控制我的 3 个风扇,设置最低速度、下限和上限,这就是成功!

但即使具有很高的初始速度,当 Tp0P 传感器达到 84 度时,启动后我仍然会遇到一些突发情况。然后 CPU 风扇会提高速度,直到温度降低,但需要很长时间才能生效,因此通常需要 10 分钟。我认为我无法在任何地方改变这个值,这很遗憾,因为我认为它真的不会比这个高很多。

所以我想我宁愿研究原因:是电源单元(PSU)过热,而不是我之前所说的 GPU 过热。我正在考虑在机箱上打孔以被动地减少热量,或者以某种方式直接在 PSU 上安装新风扇。对机箱和电源进行深度清洁后,已经赢得了几度。