3.2. 使用 CPUfreq 调控器
3.2.1. CPUfreq 调控器类型
性能调控器会强制 CPU 使用最高时钟频率。这个频率是静态设置的,不会改变。因此,这个特定的调节器“不提供节电效益”。它只适用于几个小时的高负载,而且即使在那种情况下也只可用于 CPU 几乎不(或者从不)闲置的时候。
按需调控器是一个动态调控器,它允许 CPU 在系统负载高时达到最大时钟频率,还允许系统处于闲置时使用最低时钟频率。虽然这允许系统根据系统负载调整电源消耗,但也确实要承受“频率切换间造成的延迟”。因此,如果系统在闲置和高负载间切换过于频繁,那么延迟可抵消任何按需调控器带来的性能/节能优势。
用户空间调控器允许用户空间程序,或者任何以 root 身份运行的进程,来设置频率。所有的调控器当中,用户空间调控器是最能够自定义的。根据它的配置,它能够为您的系统提供最佳的性能和能耗的折中方案。
注意
cron 指令启用调控器。这允许您在每天的特定时间自动设定某特定调节器。因此,您可以在闲置时指定低频率调控器(例如工作之余),并在高负载时返回高频率调控器。
3.2.2. CPUfreq 设置
cpupower frequency-info --governorscpupower frequency-set --governor [governor]-c 指令和 CPU 数的范围或是逗号分隔的清单。例如,若要为 CPU 1-3 和 5 启用用户空间调控器,指令为:
cpupower -c 1-3,5 frequency-set --governor cpufreq_userspace3.2.3. 微调 CPUfreq 策略和速度
cpupower frequency-info 指令查看 CPU 速度和策略的信息,并可以使用 cpupower frequency-set 指令的选项进一步微调每一个 CPU 的速度。
cpupower frequency-info 有以下可用选项:
--freq— 根据 CPUfreq 核显示该 CPU 的当前速度,单位为 KHz。--hwfreq— 根据硬件显示 CPU 的当前速度,单位为 KHz(仅限 root 用户)。--driver— 显示这个 CPU 中用来设定频率的 CPUfreq 驱动器。--governors— 显示此 kernel 上可用的 CPUfreq 调控器。若您想要使用此文件中未列出的 CPUfreq 调控器,请查看〈第 3.2.2 节 “CPUfreq 设置”〉。--affected-cpus— 列出需要频率协调软件的 CPU。--policy— 显示当前 CPUfreq 策略范围,单位为 KHz,以及当前活跃的调控器。--hwlimits— 列出该 CPU 的可用频率,单位为 KHz。
cpupower frequency-set 有以下可用选项:
注意
/sys/devices/system/cpu/[cpuid]/cpufreq/ 的可微调部分查看 CPUfreq 设置。通过写入这些 tunables 即可更改设置和数值。例如:要将 cpu0 的最低时钟速度设定为 360 KHz,请使用:
echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq

Where did the comment section go?
Red Hat's documentation publication system recently went through an upgrade to enable speedier, more mobile-friendly content. We decided to re-evaluate our commenting platform to ensure that it meets your expectations and serves as an optimal feedback mechanism. During this redesign, we invite your input on providing feedback on Red Hat documentation via the discussion platform.