Ubuntu 18.04上风扇速度非常高。

我在Ubuntu 18.04上进行了全新安装,与Windows 10并存。在Ubuntu上,我的其中一个风扇转速非常高,尽管温度正常,并且在Windows上没有这个问题。我已经尝试了这个论坛中建议的一些解决方案,但都没有成功。

有问题的那个似乎是nct6775/fan2,至少它是唯一一个按照HardInfo程序显示转速为+1155 rpm的风扇。我的主板是ASUS H81M-A。


你采取了哪些措施来专门解决风扇问题?fancontrol 是否正在运行?你的 /etc/fancontrol 文件是什么样子的? - rtaft
如果你使用的是英特尔的CPU,可以尝试这个链接:https://askubuntu.com/questions/516067/persistent-high-fan-speed-ubuntu-14-04/1033903#1033903 - Claudio Taccogna
尝试将风扇插入系统风扇头部,而不是CPU头部。我发现对于某些主板,风扇在SYS头部插入时会尝试以比正常更高的速度运行,而有些CPU风扇在SYS头部插入时以较低速度运行。虽然值得一试。 - dat tutbrus
10个回答

典型的fancontrol设置步骤包括:
运行`sensors-detect`以确保您具有正确的模块和更新`/etc/modules`(在RH上为`/etc/sysconfig/lm_sensors`),以便有nct6775条目。
运行`pwmconfig`来测试和配置每个风扇,并创建`/etc/fancontrol`文件。
已知问题是,有时hwmon id在启动时会发生变化,导致风扇失控。为此,您需要手动编辑`/etc/fancontrol`文件,将每个pwm的完整路径替换id为`[[:print:]]*`,例如:`/sys/devices/platform/nct6775.656/hwmon/hwmon[[:print:]]*/pwm1`。
这些是实际的文件系统路径,您可以浏览以了解可用内容。
您可能还需要编辑 `/etc/sensors3.conf`,我不得不为ASUS Z97添加了一些内容,我在this thread中发布了这些详细信息。
您可能还需要将以下内容添加到 `/etc/default/grub` 文件中的 `GRUB_CMDLINE_LINUX_DEFAULT` 变量中:`acpi_enforce_resources=lax` 然后重新构建grub配置 `grub-mkconfig -o /boot/grub/grub.cfg`。

谢谢您的回答。我会研究一下这个问题。我已经安装了lm-sensors和fancontrol。在pwmconfig中的测试过程中,我的风扇根本不停止转动。我会再检查一遍的。 - Esteban Knöbl
这在Ubuntu 16上工作正常吗?我对我的3针风扇没有任何控制权,只能控制4针的。大部分的噪音来自GPU风扇。如果你能看到它是风扇2,你应该能够控制它。查看一下文件系统,fancontrol只是读写/sys/devices/platform/nct6775.656/hwmon/hwmon3/中的文件。还要使用lsmod确保nct6775已加载...并确保你的ASUS正在使用那个芯片(很可能是)。 - rtaft
我在那台电脑上没有安装其他版本的Ubuntu,所以我无法确定。我会检查你建议的内容。谢谢! - Esteban Knöbl

我在解决风扇速度和热问题方面纠结了很长时间,直到我发现了“tlp”,它解决了我所有的问题。你可以在这里了解更多信息:here

TLP为Linux带来先进的电源管理功能,无需理解每一个技术细节即可享受其好处。TLP已经预先配置为默认设置,优化了电池寿命,所以你只需安装并忘记它。然而,TLP也可以根据您的特定需求进行高度自定义。

安装过程是可预测的。
sudo apt install tlp

配置是自动的,我从未需要改变它的默认设置。
如果单独使用tlp不能解决您的所有散热问题,您可以采取以下特定步骤来处理ASUS笔记本电脑

内核模块概述

  • asus-nb-wmi是一个内核模块,它包含在主流Linux内核中,并且会自动加载到Asus笔记本电脑中。它只能控制一个风扇,如果有第二个风扇,则无法对其进行任何控制。禁用此模块将导致键盘背光无法工作。
  • asus_fan是一个内核模块,可用于控制一些旧款Asus笔记本电脑上的两个风扇。不适用于最新型号。

对于我自己来说,在安装了tlp之后,我能够删除一些我为我的笔记本电脑设置而努力安装的风扇控制程序。然而,我没有ASUS笔记本电脑,所以您可能需要比tlp更多的东西。


我的笔记本电脑竟然是华硕的。 - Jus12

我在我的Asus笔记本Q551L上使用Ubuntu 18.04时遇到了问题,当从睡眠中恢复时风扇速度很高。我的笔记本电脑有需要驱动程序的nvidia设备,包括我的视频卡GM108M GeForce 840M。这是我在this page上解释的解决方法。
$ ubuntu-drivers devices
$ sudo ubuntu-drivers autoinstall

然后重新启动。

我认为重新启动是解决这个问题的方法。 - CrandellWS
暂停然后唤醒我的笔记本足以停止风扇噪音。 - Gearoid Murphy

这里可能有两个问题,针对这两个问题,您可以尝试以下两种方法:

1. 检查BIOS设置。

某些设置只能在BIOS中找到,其中一个在BIOS中可以找到的设置是风扇设置,您可以在此处检查是否有任何问题。

2. 传感器损坏

风扇的传感器可能已经损坏,我知道在Ubuntu和Windows上都有一种方法来检查它,所以我将解释两种方法。

Ubuntu

要使用Ubuntu检查传感器,您需要安装hardinfo,可以通过使用命令sudo apt-get install hardinfo来完成安装,这样您就可以查看传感器是否正常工作或损坏。

Windows

要在Windows上检查您的传感器,您需要安装Speedfan,可以在这里找到。它将显示您的风扇传感器读取的温度和风扇的速度。

(附注:我已经有一段时间没有使用这些程序了,所以它们可能与我记得的不同)

希望这能解决您的问题,因为对我来说确实有效。

2你好,朋友。我觉得你的回答更像是一条评论而不是一个答案。而且,这也表明你没有仔细阅读我的问题。请把它作为一条评论发表。 - Esteban Knöbl
@estebanknobl 如果我能的话,我会这样做,因为只有达到50个声望才能评论。但是我忘记了第三个选项,虽然可能性很小,但也有可能是错误连接线路的问题。我是否应该在答案中加上这一点呢? - delfiler
@estebanknobl 其次,“我尝试了论坛中提到的一些解决方案”这句话不够清晰,你所尝试的内容并没有明确说明。我是说你可能错过了我提到的两个解决方案之一(就像我在“hardinfo”部分也忘了/遗漏了一样(是的,我有记忆问题))。 - delfiler

我遇到了和@sef类似的问题。我有一台联想笔记本电脑,搭载Geforce MX150显卡,运行着Ubuntu 20操作系统。为了解决噪音扰人的风扇问题,我还需要进行以下操作:
$ ubuntu-drivers devices
$ sudo ubuntu-drivers autoinstall

但是除此之外,我还需要去"NVIDIA X Server Settings"中设置"PRIME Profiles"为"NVIDIA on demand",然后重新启动。现在如果我打开同一个程序中的"Thermal settings",我可以看到更低的GPU温度。在PowerMizer中,我现在可以看到正在使用性能级别0。以前我总是处于更高的级别(性能)。

我的笔记本电脑还很新,而且我没有运行太多程序,负载只有2。 拥有8个CPU核心和一颗i7处理器,我知道肯定出了问题。
我通过使用tlp解决了这个问题。
lspci -v | perl -ne '/VGA/../^$/ and /VGA|Kern/ and print'
00:02.0 VGA compatible controller: Intel Corporation UHD Graphics 620 (rev 07) (prog-if 00 [VGA controller])
    Kernel driver in use: i915
    Kernel modules: i915

sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update

sudo apt-get install tlp tlp-rdw
systemctl enable tlp # to enable on startup
vim /etc/default/tlp

你应该有类似这样的东西。
tlp-stat -c
--- TLP 1.2.2 --------------------------------------------

+++ Configured Settings: /etc/default/tlp
        TLP_ENABLE=1
        TLP_DEFAULT_MODE=AC
        TLP_PERSISTENT_DEFAULT=0
        DISK_IDLE_SECS_ON_AC=0
        DISK_IDLE_SECS_ON_BAT=2
        MAX_LOST_WORK_SECS_ON_AC=15
        MAX_LOST_WORK_SECS_ON_BAT=60
        CPU_HWP_ON_AC=balance_performance
        CPU_HWP_ON_BAT=balance_power
        CPU_MAX_PERF_ON_AC=100
        CPU_BOOST_ON_AC=1
        SCHED_POWERSAVE_ON_AC=0
        SCHED_POWERSAVE_ON_BAT=1
        NMI_WATCHDOG=0
        ENERGY_PERF_POLICY_ON_AC=performance
        ENERGY_PERF_POLICY_ON_BAT=power
        DISK_DEVICES="nvme0n1 sda"
        DISK_APM_LEVEL_ON_AC="254 254"
        DISK_APM_LEVEL_ON_BAT="128 128"
        SATA_LINKPWR_ON_AC="med_power_with_dipm max_performance"
        SATA_LINKPWR_ON_BAT="med_power_with_dipm min_power"
        AHCI_RUNTIME_PM_TIMEOUT=15
        WIFI_PWR_ON_AC=off
        WIFI_PWR_ON_BAT=on
        WOL_DISABLE=Y
        SOUND_POWER_SAVE_ON_AC=0
        SOUND_POWER_SAVE_ON_BAT=1
        SOUND_POWER_SAVE_CONTROLLER=Y
        BAY_POWEROFF_ON_AC=0
        BAY_POWEROFF_ON_BAT=0
        BAY_DEVICE="sr0"
        RUNTIME_PM_ON_AC=on
        RUNTIME_PM_ON_BAT=auto
        USB_AUTOSUSPEND=1
        USB_BLACKLIST_BTUSB=0
        USB_BLACKLIST_PHONE=0
        USB_BLACKLIST_PRINTER=1
        USB_BLACKLIST_WWAN=0
        RESTORE_DEVICE_STATE_ON_STARTUP=0
        NATACPI_ENABLE=1
        TPACPI_ENABLE=1
        TPSMAPI_ENABLE=1

在我的情况下,我使用的是Intel,所以我禁用了Radeon。 重新启动后,超级烦人的风扇噪音消失了。

我曾经遇到过与我的Asus BM6820台式机和Nvidia GeForce GT 730相同的问题。 我尝试了上面所有的提示,但最终发现问题出在内核的原始Nvidia驱动程序:nouveau引起的问题。
将您的计算机引导到init 3运行级别以验证此问题。如果风扇速度正常,您可以尝试禁用nvidia nouveau驱动程序。
如何禁用Nouveau nvidia驱动程序:

https://linuxconfig.org/how-to-disable-nouveau-nvidia-driver-on-ubuntu-18-04-bionic-beaver-linux

$ sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf"
$ sudo bash -c "echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist-nvidia-nouveau.conf"

确认新的modprobe配置文件的内容:
$ cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
blacklist nouveau
options nouveau modeset=0

然后从Nvidia的官网上安装适当的Nvidia驱动程序。

https://linuxconfig.org/how-to-install-the-nvidia-drivers-on-ubuntu-18-04-bionic-beaver-linux



更换主板后,我遇到了同样的问题。最后我发现我忘记重新连接传感器电缆到新的主板上。传感器电缆是一个小的4针插头。插座位于主板的右前侧(从电脑正面看)。很容易忽视它的连接。一旦重新连接传感器,我的电脑就变得非常安静。

对我来说,解决方法是运行以下内容:
sudo apt install smbios-utils
sudo smbios-thermal-ctl -v --set-thermal-mode=quiet

请问这个工作在哪些硬件上进行? - Zanna