性能调控器会强制 CPU 使用最高时钟频率。这个频率是静态设置的,不会改变。因此,这个特定的调节器“不提供节电效益”。它只适用于几个小时的高负载,而且即使在那种情况下也只可用于 CPU 几乎不(或者从不)闲置的时候。
按需调控器是一个动态调控器,它允许 CPU 在系统负载高时达到最大时钟频率,还允许系统处于闲置时使用最低时钟频率。虽然这允许系统根据系统负载调整电源消耗,但也确实要承受“频率切换间造成的延迟”。因此,如果系统在闲置和高负载间切换过于频繁,那么延迟可抵消任何按需调控器带来的性能/节能优势。
用户空间调控器允许用户空间程序,或者任何以 root 身份运行的进程,来设置频率。所有的调控器当中,用户空间调控器是最能够自定义的。根据它的配置,它能够为您的系统提供最佳的性能和能耗的折中方案。
注意
cron
指令启用调控器。这允许您在每天的特定时间自动设定某特定调节器。因此,您可以在闲置时指定低频率调控器(例如工作之余),并在高负载时返回高频率调控器。cpupower frequency-info --governors
cpupower frequency-set --governor
[governor]
若要只在特定核上启用某个调控器,请使用 -c
指令和 CPU 数的范围或是逗号分隔的清单。例如,若要为 CPU 1-3 和 5 启用用户空间调控器,指令为:
cpupower -c 1-3,5 frequency-set --governor cpufreq_userspace
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
有以下可用选项:
--min
<freq> 和 --max
<freq> — 设定 CPU 的 “策略限制”,单位为 KHz。重要:
--min
前设定 --max
。--freq
<freq> — 为 CPU 设定具体时钟速度,单位为 KHz。您只能选择一个在 CPU 策略限制范围内的速度(即 --min
和 --max
之间的数值)。--governor
<gov> — 设定新的 CPUfreq 调控器。注意:
如果您没有安装 cpupowerutils 软件包,则可在 /sys/devices/system/cpu/
[cpuid]/cpufreq/
的可微调部分查看 CPUfreq 设置。通过写入这些 tunables 即可更改设置和数值。例如:要将 cpu0 的最低时钟速度设定为 360 KHz,请使用:
echo 360000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq
文章评论