如何在 Ubuntu 15.04 上扩展 intel_pstate 驱动程序?

如何在 Ubuntu 15.04 上扩展 intel_pstate 驱动程序?

我几乎尝试了所有解决方案来调整 CPU 频率,但都没有成功。我有 Intel Core i5-3210m 2.5Ghz-3.1Ghz。我想永久将其设置为 1.6Ghz,不使用睿频加速来改善电池续航时间。请根据 intel_pstate 驱动程序进行设置。

答案1

要使用 intel_pstate 驱动程序将 CPU 上限频率限制为 52%,请执行以下操作:

echo "52" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct

注 1:在计算 52% 时,我假设您已启用 turbo,最大 pstate 为 31。因此 1.6 / 3.1 = 52%。如果您已禁用 turbo,则该数字将为 64%。无需专门禁用 turbo,因为有了这个限制,它无论如何都不会进入 turbo 范围。

注 2:根据您的应用程序和处理器,限制 CPU 频率可能不会延长电池寿命。在某些情况下,通过更高的 CPU 频率更快地完成任务,从而允许某些 CPU 更快、更长时间地进入深度睡眠(最高 C 状态),可以降低整体功耗。

注意 3:此解决方案不是永久性的,重新启动后设置将丢失。我建议您尝试一段时间,然后报告,然后我们可以考虑如何使其永久化。还有其他更高级别的工具可用于此目的,但我从未使用过它们。其他人可能会提供涉及更高级别工具的另一个答案。

一个例子(不同的处理器,不同的数字)。CPU 7 处于 100% 负载下:
设置频率上限之前:

$ grep MHz /proc/cpuinfo
cpu MHz         : 3697.234
cpu MHz         : 3655.796
cpu MHz         : 3699.890
cpu MHz         : 3742.257
cpu MHz         : 3613.562
cpu MHz         : 3670.273
cpu MHz         : 3628.968
cpu MHz         : 3799.898

现在,限制上限频率并检查:

$ echo "50" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
$ cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
$ grep MHz /proc/cpuinfo
cpu MHz         : 1899.882
cpu MHz         : 1900.015
cpu MHz         : 1899.882
cpu MHz         : 1893.906
cpu MHz         : 1899.351
cpu MHz         : 1900.015
cpu MHz         : 1899.750
cpu MHz         : 1899.882

编辑:无论您的现有内核是什么,请留意 intel_pstate 驱动程序更改的反向移植。我知道反向移植正在进行,但我不知道发布时间表。

为了使更改始终在启动期间发生,首先将其制作成脚本,例如:

$ cat set_cpu_max_perf_pct
#! /bin/bash

echo 52 >/sys/devices/system/cpu/intel_pstate/max_perf_pct
echo -n "intel_pstate maximum performance request is (percent): "
cat /sys/devices/system/cpu/intel_pstate/max_perf_pct

测试脚本,以 sudo 身份运行。然后参考许多其他问题和答案,了解如何在启动期间运行该脚本。例如,这个

或者,你可以安装以下工具传输层协议配置文件中有这些设置,其中包括电池或交流电和自动开关的参数。

相关内容