使用交流适配器时 CPU 频率受限,使用电池时不受限制

使用交流适配器时 CPU 频率受限,使用电池时不受限制

我的 ThinkPad X200 遇到了一个奇怪的问题。

这款笔记本采用的是Intel(R) Core(TM)2 Duo CPU P8600,设计频率2.4GHz,当我只使用电池时,最高可以调到2.4GHz,但是,当我插入交流适配器时,频率被限制在 1.6GHz。

即使我禁用了 cpufreqd,问题仍然存在,并且迫使州长履行职责。

这太奇怪了!有人知道吗?

PS我的内核版本是4.19.5。

答案1

是啊,没有人关心我的问题,这真是太可惜了。

然而,幸运的是,我找到了解决办法!

什么限制了 CPU 的最大频率?BIOS!

该文件/sys/devices/system/cpu/cpu*/cpufreq/bios_limit告诉BIOS的限制值。

performance在启动调速器的情况下,当我只使用电池时,这个值bios_limit是2400000,这是硬件的最大值。但是,当我连接AC适配器时,这个值很快就会降到1600000。

默认情况下,Linux 的调节器会遵循bios_limit,所以会出现问题。但我们可以让 Linux 忽略它,并且不让最大频率卡住。只需将其设置ignore_ppc为 1 即可。

echo 1 | sudo tee /sys/module/processor/parameters/ignore_ppc

并修改/etc/default/grub为开机自动设置ignore_ppc。用root权限打开,附加processor.ignore_ppc=1GRUB_CMDLINE_LINUX_DEFAULT,就像这样:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash processor.ignore_ppc=1"

然后运行:

sudo update-grub

然后重新启动。

参考:

答案2

这似乎是一个BIOS 中的选项.根据此图: ThinkPad X200 的 BIOS

希望对您有所帮助。谨致问候。

答案3

传输层协议在这种情况下会派上用场

sudo apt-get install tlp

检查配置文件/etc/tlp.conf特尔普伊图形界面

这可能会让你更清楚地了解 AC/BAT 下的 CPU 性能限制

#CPU_SCALING_MAX_FREQ_ON_AC 
#CPU_MAX_PERF_ON_AC
#CPU_SCALING_GOVERNOR_ON_AC
#CPU_BOOST_ON_AC
...

相关内容