性能¶
perf
是 Linux 系统中强大的系统级检测服务。本文讨论了它如何与功耗分析相关。
注意:如果您还没有阅读功耗分析概述,建议您阅读一下。这可能有助于您更好地理解本文档的部分内容。
能耗估算¶
perf
可以访问 Intel RAPL 能耗估算。以下示例显示了如何为此目的调用它。
sudo perf stat -a -r 1 \
-e "power/energy-pkg/" \
-e "power/energy-cores/" \
-e "power/energy-gpu/" \
-e "power/energy-ram/" \
<command>
-a
是必要的;它表示“所有核心”,如果没有它,所有测量结果都将为零。-r 1
表示<command>
执行一次;可以使用更高的值来获取变化。
输出将如下所示。
Performance counter stats for 'system wide':
51.58 Joules power/energy-pkg/ [100.00%]
14.80 Joules power/energy-cores/ [100.00%]
9.93 Joules power/energy-gpu/ [100.00%]
27.38 Joules power/energy-ram/ [100.00%]
5.003049064 seconds time elapsed
从输出中不清楚,但存在以下关系。
energy-pkg >= energy-cores + energy-gpu
测量单位为焦耳,通常不如瓦特实用。
由于这些原因,rapl 通常是测量 Linux 上功耗的更好工具。
唤醒 {#Wakeups}¶
perf
也可用于进行唤醒的高上下文分析。