我在以下平台上运行 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 频率调节器设置为:
- 表现
- 均衡
- 节能
然而,无论我做什么,都没有任何效果:
使用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/ 中的内核启动参数进行了一些实验
- GRUB_CMDLINE_LINUX_DEFAULT="amd_pstate=disable"。使用此选项,acpi-cpufreq 驱动程序会重新出现,并且所有调速器也会重新出现。
- GRUB_CMDLINE_LINUX_DEFAULT="amd_pstate=guided"。使用此选项,amd_pstate 驱动程序再次恢复,但现在所有调节器均与 acpi-cpufreq 驱动程序相同。
参数“amd_pstate=guided”是所谓的AMD Pstate操作模式,它可以达到以下值:
- 积极的
- 被动的
- 引导
- 已禁用
该链接解释了不同的模式及其功能。我的主机上的默认模式是“active”,它只提供“powersave”和“performance”调节器供切换。我的理解是,“guided”意味着它从使用 acpi_cpufreq 驱动程序时可用的全套调节器之一获取指导。