减少 Linux 电耗,第 1 部分: CPUfreq 子系统(3)

CPUfreq 子系统的前提条件

在使用 CPUfreq 子系统之前,您需要满足下节所述的前提条件。CPUfreq 在 RHEL 5.2 中是默认启用的(在其他分发版中通常也是启用的)。检查 CPUfreq 是否已经启用的一种快捷方法是查看 /sys 文件系统。如果在 /sys/devices/system/cpu/cpu*/cpufreq/ 中看到了 cpufreq 目录,则表示您的系统当前已经启用了 CPUfreq。如果未在其中看到此目录,则依照以下步骤确保一切就绪。

首先,确保您的处理器可以支持变频。有关此 CPUfreq 子系统的硬件列表,请参阅 参考资料 小节。

接下来,查看内核配置文件。通常,所有需要的配置默认都已针对 RHEL 5.2 内核设置好,但您可能希望更改一些设置来实现所需的系统启动状态。以下选项位于配置文件的 CPU Frequency scaling 部分:

CONFIG_CPU_FREQ
必须将此选项设置为 y,以便于利用内核的 CPU 变频功能。

CONFIG_CPU_FREQ_GOV_PERFORMANCE, CONFIG_CPU_FREQ_GOV_POWERSAVE,
  CONFIG_CPU_FREQ_GOV_USERSPACE, CONFIG_CPU_FREQ_GOV_ONDEMAND,
  CONFIG_CPU_FREQ_GOV_CONSERVATIVE
这些选项分别对应各个可用的 CPUfreq 调控器。要使用调控器,需要将配置选项设置为 y 或者 m。如果将选项设置为 y,则该调控器的模块将嵌入到内核中。如果将选项设置为 m,则每次在启动时都需要通过发出以下部分或全部命令来载入模块:

modprobe cpufreq_performance
  modprobe cpufreq_powersave
  modprobe cpufreq_userspace
  modprobe cpufreq_ondemand
  modprobe cpufreq_conservative
或者,如果选择了 m,那么您可以将调控器模块添加到 /etc/rc.local,以便在启动时载入模块。还需注意,通过将 CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE 或 CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE 设置为 y,您可以将用户空间或性能调控器设置为默认。

此外,要使用 sched_mc_power_savings 和 sched_smt_power_savings(稍后讨论), 应确保在配置文件的 Processor type and features 部分将 CONFIG_SCHED_MC 和 CONFIG_SCHED_SMT 选项设置为 y。

要让配置文件中的更改生效,您需要重建和启动内核。您可能知道如何执行此任务,但如果不了解细节,可以阅读关于重建 Linux 内核的指南

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyfydg.html