如 减少 Linux 耗电,第 2 部分:一般设置和与调控器相关的设置 所述,有一些针对 ondemand 和 conservative 调控器的可选调优参数。下面将介绍如何更改利用率阈值以影响调控器的能效。
Ondemand
ondemand up_threshold 默认设置为 80,表示一旦 CUP 利用率达到 80% 以上,ondemand 调控器将提高频率。下面我将向您展示,只需将 up_threshold 更改为 98,您就可以使 ondemand 调控器变得更有能效。
图 3 比较 ondemand 调控器以默认配置(up_threshold 为 80)运行的效果和以调优后的设置(up_threshold 为 98)运行的效果。在上述运行期间,可调优的 sched_mc_power_savings 和 sched_smt_power_savings 均关闭。
图 3. ondemand 的得分和电能消耗
从图中的虚线可以看出,默认和调优 ondemand 调控器获得了非常相似的得分,可见,更改 up_threshold 不会影响性能。但是,显示电能消耗的实线的确显示出轻微的差异。如您所见,将 up_threshold 提高到 98 比使用默认阈值略微降低了电能消耗。
下面,我们看看图 4 中的 “性能/电能” 比率。
图 4. ondemand 的 “性能/电能” 比率
从图 4 可以看出,对于几乎每一个负载水平,调优后的 ondemand 调控器(利用率阈值为 98)比默认 ondemand 调控器的能效都略高一些。