Android Pixel设备CPU/GPU功耗测量对应kernel路径及adb可用API查询
Pixel设备CPU/GPU功耗测量相关说明
内核节点路径
Pixel不同芯片平台的功耗测量节点均位于sysfs文件系统下,绝大部分debug版/工程版系统无需root即可读取,正式版系统部分节点需要root权限:
- 骁龙平台Pixel(Pixel 5及更早型号)
- CPU总功耗累计值路径:
/sys/class/powercap/dynamic-power-cores:0/energy_uj,单位为微焦 - GPU总功耗累计值路径:
/sys/class/powercap/qcom,llcc-gpu:0/energy_uj,单位为微焦
- CPU总功耗累计值路径:
- Tensor平台Pixel(Pixel 6及更新型号)
- 小核集群功耗累计值路径:
/sys/class/powercap/arm-scmi_devfreq:0/energy_uj - 中核集群功耗累计值路径:
/sys/class/powercap/arm-scmi_devfreq:1/energy_uj - 大核集群功耗累计值路径:
/sys/class/powercap/arm-scmi_devfreq:2/energy_uj - GPU功耗累计值路径:
/sys/class/powercap/arm-scmi_devfreq:3/energy_uj
- 小核集群功耗累计值路径:
注意:上述节点输出的是从系统启动到当前的累计能量值,需要间隔固定时长读取两次做差值,再除以时间间隔才能得到对应时段的平均功耗(功率)
adb shell可用的测量工具
Android没有专门用于功耗测量的公共API,但系统自带多个可直接在adb shell中运行的工具,无需额外安装:
dumpsys power:直接执行adb shell dumpsys power | grep -E "CPU|GPU|energy"即可过滤输出CPU/GPU的分模块累计功耗值,无需rootcmd power get-energy-info:Pixel专属的功耗统计命令,直接执行adb shell cmd power get-energy-info可输出最近1小时/1天等不同时段的CPU/GPU平均功耗统计,无需rootperfetto:Android 10及以上自带的系统追踪工具,可采集高精度的实时功耗曲线,示例采集命令:
采集完成后将trace文件导出即可解析出对应时段的CPU/GPU功耗变化数据。adb shell perfetto --config :mobile --out /data/local/tmp/power_trace.perfetto-trace
内容的提问来源于stack exchange,提问作者JIN
相关产品推荐
相关产品推荐

