Ubuntu/Thinkpad T490 启动时 CPU 温度高 + 风扇噪音

Ubuntu/Thinkpad T490 启动时 CPU 温度高 + 风扇噪音

我最近在我的 Thinkpad T490 上安装了 Ubuntu 20.04,我注意到 Ubuntu 上的 CPU 温度与 Windows 相比有些奇怪且不同。

我不知道为什么,但在启动时风扇旋转得非常快(可能是由于 CPU 温度高),而这在 Windows 10 上从未发生过。

有人知道为什么吗?我也尝试过“thinkfan”,但我认为最好使用 BIOS 默认配置(我认为是 Lenovo Vantage 应用程序使用的配置)来控制风扇。

答案1

Ubuntu 启动时 CPU 频率调节器设置为性能。默认情况下,它会在几秒钟后切换到耗电量较少的处理器,具体取决于您的处理器(我的处理器大约需要 10 秒)。以前是 1 分钟,但 20.04 似乎已经改变了。

我不知道 Windows 是做什么的或者为什么这样做。

内核配置决定了默认情况下以及启动期间将使用哪个 CPU 频率调节驱动程序和调节器。对于当前的 20.04 内核,5.4.0-40-generic(如果我落后也没关系):

/boot/config-5.4.0-40-generic 相关区域是:

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

#
# CPU frequency scaling drivers
#
CONFIG_X86_INTEL_PSTATE=y
CONFIG_X86_PCC_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ=y
CONFIG_X86_ACPI_CPUFREQ_CPB=y
CONFIG_X86_POWERNOW_K8=y
CONFIG_X86_AMD_FREQ_SENSITIVITY=m
CONFIG_X86_SPEEDSTEP_CENTRINO=y
CONFIG_X86_P4_CLOCKMOD=m

您可以观察到,performance调节器是默认的。这是 Ubuntu 的东西,不是 Linux 的东西。

您可以编译自己的内核,并指定不同的默认调控器。例如:

#
# CPU Frequency scaling
#
CONFIG_CPU_FREQ=y
CONFIG_CPU_FREQ_GOV_ATTR_SET=y
CONFIG_CPU_FREQ_GOV_COMMON=y
CONFIG_CPU_FREQ_STAT=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE is not set
CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE=y
# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set
# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set
CONFIG_CPU_FREQ_GOV_PERFORMANCE=y
CONFIG_CPU_FREQ_GOV_POWERSAVE=y
CONFIG_CPU_FREQ_GOV_USERSPACE=y
CONFIG_CPU_FREQ_GOV_ONDEMAND=y
CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y
CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y

但是这种方法需要持续的工作,因为每次内核更新时你都必须这样做。

我认为没有办法提前更改时间,因为看起来 Ubuntu 在启动过程中会尽快运行更改脚本。相关服务称为 ,它ondemand.service调用/lib/systemd/set-cpufreq

现在,启动期间通常有很多事情要做,因此即使在调节器改变之后,您的处理器仍可能消耗大量电量,直到它完成启动工作。

相关内容