减少Linux 耗电第 3 部分:调优结果(2)

SPECpower_ ssj2008 工作负载

以下结果来自评估电能和性能的 SPECpower_ssj2008 基准测试。要查看关于这个基准测试的更多信息或查看最新官方基准测试结果,请参见 SPEC Web 站点(参考资料 提供了一个链接)。注意,这些结果没有针对最优性能进行调优,不应被视为针对系统的正式基准测试结果,它们只是用于研究目的的结果。

SPECpower_ssj2008 使用一个 Java? 基准测试以获取单位为 ssj_ops(ssj 操作)的性能得分,并在从 100% 负载到完全闲置的负载范围内运行这个基准测试。得分越高,系统可以完成的计算量就越大。

SPECpower_ssj2008 还测量电能(以瓦特为单位)并在每个负载水平计算一个性能/电能比(performance-to-power)。这个比率越高,系统的 “性能/电能” 效率也就越好。

默认调控器比较

图 1 比较了 5 个内核调控器的效果,它们都使用默认设置运行。可调优的 sched_mc_power_savings 和 sched_smt_power_savings 被关闭,CPU 频率守护进程 cpuspeed 与 userspace 调控器一起运行。

默认设置的得分和电能消耗

图 1. 默认设置的得分和电能消耗

虚线显示单位为 ssj_ops 的得分,ssj_ops 是一个 SPECpower_ssj2008 性能度量指标。您可以看到,导致性能下降的主要因素是 powersave 调控器,这显然是因为 powersave 调控器静态处理器将频率设置为尽可能低的水平,以便尽量节约电能。

实线显示电能消耗。同样,powersave 调控器消耗的电能比其他调控器少,但这是以牺牲性能为代价的。另外,您还可以看到系统闲置时不同调控器之间的能耗差异。performance 调控器总是以最高频率运行,因此它在闲置时消耗的电能要比其他调控器高 10 瓦特左右。userspace 调控器以及 cpuspeed 守护进程在节约电能而不损害性能方面似乎是最好的默认调控器。我们可以通过在图 2 中比较每次运行的 “性能/电能” 比率来确认这一点。

默认设置下的 “性能/电能” 比率

图 2. 默认设置下的 “性能/电能” 比率

“性能/电能” 比率是 SPECpower_ssj2008 计算的一个度量指标,通过比较获得的得分和获得该得分所耗费的电能来度量一个系统的节电程度,因此比率越高越好。

如您所见,当所有调控器以默认设置运行时,userspace 调控器以及 cpuspeed 守护进程在多数负载水平下比其他调控器拥有更好的 “性能/电能” 比率,因此,userspace 调控器的能效最高。

linux

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

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