我刚刚在一台配备 AMD Althon 64 x2 4800+ CPU 的旧台式机上安装了 Lubuntu 18.04.1,虽然总体运行良好,但我的内核日志中却充斥着来自以下位置的 CPU 频率错误powernow_k8
:
我谷歌了一下,发现了很多关于如何修复此问题的旧帖子,但所有命令都不起作用(这并不奇怪,因为我确信自 2008 年以来发生了很多变化)...
有人能建议我如何解决这个问题吗?老实说,我根本不关心动态频率缩放是否有效,我只想powernow_k8
停止淹没我的内核日志……
答案1
powernow-k8
,以前是一个外部模块,自 2010 年起已直接编译到内核中。为了避免速度步进,您可以直接全速运行 CPU。来自 Stack Exchange 的答案:有没有办法使用命令行应用程序禁用 Ubuntu 服务器上的 Intel SpeedStep 步进?
首先阅读系统当前可用的设置:
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
这将返回一个可用设置列表,您可以使用这些设置来调节 CPU 的每个核心,如果可以,您应该通过选择性能选项将它们设置为最大性能。这将使您的 CPU 核心始终以最大频率运行。
了解您有哪些选项以及性能选项是否可用后,您可以使用以下命令将每个核心设置为性能模式:
sudo echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
这将使 cpu0(第一个核心)始终以最大性能运行。对 CPU 中的所有逻辑核心执行此操作。
然后,您可以使用以下命令检查选项是否已成功更改:
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
这将检查 cpu0(第一个核心)的当前设置选项。检查所有核心的更改是否成功,如果一切设置正确,您就可以开始了:Intel SpeedStep 将开启,但所有核心将始终以最大频率速度运行。
笔记:尽管问题和答案提到了 Intel SpeedStep,但同样也适用于 AMD 的 PowerNow 技术。
原始帖子基于 Arch Linux 信息
powernow_k8 自 kernel 以来已被弃用3.7
。您可以将其列入黑名单(如何将内核模块列入黑名单?)使用命令:
sudo -H leafpad /etc/modprobe.d/blacklist.conf
并插入以下两行:
# powernow-k8 deprecated since kernel 3.7
blacklist powernow-k8
保存文件并退出gedit
重启后确认模块不再加载:
lsmod | grep powernow-k8
您还可以阅读上面的链接,了解暂时将模块列入黑名单的步骤。
acpi-cpufreq
注意,除非使用替换模块,否则您的 CPU 现在将以全频率运行。