最大 CPU 频率卡在低值

ang*_*nor 17 power-management cpufreq frequency cpu

我观察到 Ubuntu 13.04 存在问题。问题不在我之前使用的 11.10 上。在我的 Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz (Dell Lattitude E6320) 上,最大 CPU 频率停留在 2GHz

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
2000000

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies 
2701000 2700000 2400000 2200000 2000000 1800000 1600000 1400000 1200000 1000000 800000

# echo 2700000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 

# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
2000000
Run Code Online (Sandbox Code Playgroud)

我可以将 scaling_max_freq 设置为较低的值,这样就可以了。我也可以回到 2GHz,但不能超过:

# echo 800000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
800000

# echo 2000000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
2000000

# echo 2200000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
2000000
Run Code Online (Sandbox Code Playgroud)

我所做的一切似乎都没有帮助 - 我已经安装了 TLP,卸载了它,检查了 13.04 中可用的不同内核版本。我已经连接并移除了电源。我已经更改了州长并使用了用户空间。无论我使用交流电还是电池,上述问题仍然存在。

我以前见过有人遇到过类似的问题(此处此处),但这与 2008 年的内核错误有关,似乎无关紧要。

有谁知道如何解决这一问题?

ang*_*nor 24

问题与此博客中描述的问题相同- BIOS 限制了我的 CPU 频率,或者至少暗示 Linux 限制了它:

# cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 
2000000
Run Code Online (Sandbox Code Playgroud)

要覆盖您需要输入的内容

# echo 1 > /sys/module/processor/parameters/ignore_ppc
# echo -n 2710000 >  /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
# cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
2710000
Run Code Online (Sandbox Code Playgroud)

但是,就我而言bios_limit,无论我是使用电池还是交流电,它似乎都处于开启状态。覆盖此限制很有魅力。

您可能还需要更新 grub 以强制 Ubuntu 忽略 bios 限制。这可以通过以下方式实现:

打开 grub 文件:

sudo vim /etc/default/grub
Run Code Online (Sandbox Code Playgroud)

替换 GRUB_CMDLINE_LINUX_DEFAULT 行:

- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable processor.ignore_ppc=1"
Run Code Online (Sandbox Code Playgroud)

更新 grub:

sudo update-grub
Run Code Online (Sandbox Code Playgroud)

重启