如何在具有 AMD p-state-epp 驱动程序和 GNOME 42.9 的 Ubuntu 22.04 上配置额外的 CPU 调速器?

如何在具有 AMD p-state-epp 驱动程序和 GNOME 42.9 的 Ubuntu 22.04 上配置额外的 CPU 调速器?

我在以下平台上运行 Ubuntu:

OS: Ubuntu 22.04.3 LTS x86_64 
Host: 82KV IdeaPad 3 17ALC6 
Kernel: 6.5.0-14-generic 
DE: GNOME 42.9 
CPU: AMD Ryzen 5 5500U with Radeon Graphics (12) @ 4.056GHz 
Memory: 17835MiB

Gnome 设置允许我将 CPU 频率调节器设置为:

  1. 表现
  2. 均衡
  3. 节能

然而,无论我做什么,都没有任何效果:

使用cpufreq-info我得到以下结果:

>>cpufreq-info -d 
amd-pstate-epp

>>cpufreq-info -c 0
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
  driver: amd-pstate-epp
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 4294.55 ms.
  hardware limits: 400 MHz - 4.06 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 400 MHz and 4.06 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency is 1.40 GHz.

如您所见,该驱动程序是 AMD p-state 驱动程序,并且只有两个调节器,“powersave”和“performance”

此前,我曾任以下州长:

  • 节能
  • 调度工具
  • 一经请求
  • 表现

我怀疑在更新过程中,默认驱动程序从原来的更改为“amd-pstate-epp”,也许 Gnome 不适合这个?

无论如何,我都希望回到我之前的配置,使用上述 4 个调节器,或者让 Gnome 使用它支持的三个调节器设置。

答案1

TL;DR; 不可能,内核的扩展驱动程序决定了什么是可能的,什么是不可能的。

更长的版本:首先,这不是与 GNOME 相关的问题,也不是与任何桌面环境相关的问题。CPU 调速器由 Linux 内核设置。您似乎拥有具有 Zen 2 或更新架构的较新的 AMD CPU,Linux 内核为其使用 amd-pstate 缩放驱动程序。添加 eep 意味着驱动程序利用了 CPU 更高效的电源管理。

缩放驱动程序还规定了哪些模式可用。哪些模式适用于现代 CPU - 也适用于英特尔较新的 Core i CPU - 您提到的两种状态。

对于像您这样的现代 CPU,无论如何都不建议手动设置任何模式 - 虽然在某些情况下对于较旧(和更笨)的 CPU 来说这是有意义的,但现代 CPU 具有非常复杂的内置电源管理,可提供高效的省电和空闲模式,同时根据需要提供性能。如果您想了解有关扩展驱动程序的更多信息,请参阅Linux 内核文档

如果你觉得任何用户空间程序或基于 GUI 的程序对你有隐藏,你可以轻松访问/系统文件系统,查看系统上使用的 Linux 内核提供的内容。转到此目录cd /sys/devices/system/cpu/cpu0/cpufreq/并运行ls。您将看到几个名称一目了然的文件。运行cat scaling_driver以查看内核使用哪个 CPU 驱动程序并cat scaling_governor列出可用的扩展调节器。

答案2

在“noisefloor”回答之后,我查看了他提供的链接, https://www.kernel.org/doc/html/latest/admin-guide/pm/amd-pstate.html,并在此基础上对 /etc/default/grub/ 中的内核启动参数进行了一些实验

  1. GRUB_CMDLINE_LINUX_DEFAULT="amd_pstate=disable"。使用此选项,acpi-cpufreq 驱动程序会重新出现,并且所有调速器也会重新出现。
  2. GRUB_CMDLINE_LINUX_DEFAULT="amd_pstate=guided"。使用此选项,amd_pstate 驱动程序再次恢复,但现在所有调节器均与 acpi-cpufreq 驱动程序相同。

参数“amd_pstate=guided”是所谓的AMD Pstate操作模式,它可以达到以下值:

  • 积极的
  • 被动的
  • 引导
  • 已禁用

该链接解释了不同的模式及其功能。我的主机上的默认模式是“active”,它只提供“powersave”和“performance”调节器供切换。我的理解是,“guided”意味着它从使用 acpi_cpufreq 驱动程序时可用的全套调节器之一获取指导。

相关内容