![i7 3520M 在内核 3.10.0 上使用 intel_pstate 模块的扩展问题](https://linux22.com/image/33761/i7%203520M%20%E5%9C%A8%E5%86%85%E6%A0%B8%203.10.0%20%E4%B8%8A%E4%BD%BF%E7%94%A8%20intel_pstate%20%E6%A8%A1%E5%9D%97%E7%9A%84%E6%89%A9%E5%B1%95%E9%97%AE%E9%A2%98.png)
几天前,我将 openSUSE 12.3 系统从内核 3.9.8-1.gf3348a8-desktop 更新到 3.10.0-1.g3dcd746-desktop,从那时起,我的 i7 3520M 的 Turbo 模式默认启用,并且不会降低速度闲置时。它始终以 3.6GHz 运行。
该intel_pstate
模块默认启用,因此任何用户空间设置都将被忽略(按预期)。我的机器上不再安装 cpufreq 或 cpupower 等工具。
启动 3.9.8 内核仍然显示其旧行为,即 CPU 按预期进行节流。此外,添加intel_pstate=disable
到内核命令行会停用 intel_pstate 模块,从而实现所需的 CPU 节流行为。
另一个不太感兴趣的点是,如果 CPU 受到限制(即内核 3.9.8 或禁用 intel_pstate),我将无法触发 CPU 的 Turbo 模式。
任何帮助表示赞赏。
答案1
我通过再次禁用和启用核心获得了良好的结果,这使得pstate
驱动程序工作得更好:
echo -n 1 | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
function set_cores_online()
{
typeset core=1
while [[ -f /sys/devices/system/cpu/cpu${core}/online ]]
do
echo -n ${1:-1} | sudo tee /sys/devices/system/cpu/cpu${core}/online
: $((core++ ))
done
}
set_cores_online 0
set_cores_online 1
注1
它确实缩小了,但也停留在那里,我无法让 CPU 再次“快速”工作
笔记2
添加了禁用涡轮模式,因为它似乎是它工作的先决条件,但再次启用它并不会使它再次全功率 - 所以你需要找到适合你的完美配置
更新3
厌倦了手动运行它并为其编写了一个脚本https://github.com/mpapis/home_dotfiles/blob/master/bin/cpu- 用它:cpu slow