我的 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=1
到GRUB_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
...