Android 功耗(22)---MTK 功耗问题分析

1、功耗问题需要哪种log

功耗问题抓log请遵循几条原则:

---------------------------------------------------------------------------------------------------------------------

(1)测试功耗数据的过程务必使用user版本,并且关闭所有log

(2)除非有特殊需求,任何时候关闭modem log(包括C2K modem log)

(3)mobile log部分,不要只提供kernel log(或者uart log),务必提供完整的mobile log包

(3)有丰富处理经验,且真的需要打开modem log,务必提供之前没有开modem log时的mobile log分析说明

 

log的抓取原则:

什么时候提供

数据连接关闭

数据连接打开

扫描二维码关注公众号,回复: 125969 查看本文章

必要

mobile log(关闭modem  log

mobile log + net log(关闭modem  log

如果mobile + net log无法定位问题

mobile log + modem log

mobile log + net log + modem log

2、量测电流波形需要的工具

量测电流波形需要采样精度高,而且能保存整个电流变化为文件形式的专业工具。

这里推荐:PowerMonitor

官网介绍:

https://www.msoon.com/LabEquipment/PowerMonitor/

其图形界面为

有些量测电流波形提供的波形图为

对比之下精度太低,只能看图,问题不太好定位。

  • Powermonitor的使用

1.连接假电池到powermonitor,假电池尽量不要使用大电容【注:假电池需要带NTC 电阻,否则可能不能正常开机】

2.如果开机powermonitor 出现红灯现象,可以设置Parameters à Power-up current limit 滑动到值比较大的地方

这样可以避免开机大电流,因为powermonitor的默认设定较低值,容易出现过流保护,从而导致powermonitor 红灯亮起

 

 

3.设置好电压4VSet Vout,然后点击 Vout Enable

4.点击Run 查看波形

 

5.录制好所需的波形后,可以点击Save 保存波形

3、thermal log

  • 为什么需要抓thermal log

我们使用WhatsTemp 这个APP来抓取thermal log

thermal log里面包含了CPU/GPU使用信息,以及thermal limit的状况

对我们分析动态场景的功耗问题是极为有用的

 

  • APP哪里下载

WhatsTemp可以在online上下载到:Home > Tool > WhatsTemp

 

  • APP使用方法

4、systrace/ftrace

systrace/ftrace 也是我们分析功耗问题常用的工具

-------------------------------------------------------------------------------------------------------------

thermal log只能帮你粗略看CPU的loading状况,

而systrace/ftrace可以帮你定位到是谁在使用CPU,也可以用来分析idle状态下的毛刺波形是谁触发的

我们通常会把两者结合起来用:

用thermal log做初步分析比较loading的差异,用systrace/ftrace来定位root cause

5、wireshark

  • 为什么要使用wireshark

wireshark是我们用来分析netlog的一个工具

通常用来定位开数据连接的待机功耗问题,查找是哪个APP/Process在使用数据

 

  • 哪里可以下载

wireshark可以在公共网络上下载到,一般公司负责协议/TCP/Wifi这些部门也会有这个工具

 

  • 怎么使用wireshark

首先需要在抓log时,打开mtklog中的netlog,就可以找到netlog对应的文件

 

用wireshark打开这个.cap文件,界面如下

 

有时候最前面的【时间戳】格式会不对,会跟mobile log对不上,如果遇到了,可以通过如下菜单调整

[View]->[Time Display Format]

 

6、layerdump

 

命令:adb shell dumpsys SurfaceFlinger

下面问launcher的图层:

h/w composer state:
h/w composer present and enabled
Hardware Composer state (version 01050000):
mDebugForceFakeVSync=0
Display[0] configurations (* current):
* 0: 1080x1920, xdpi=368.114990, ydpi=368.114990, refresh=16553550, colorTransform=0
numHwLayers=5, flags=00000000
type | handle | hint | flag | tr | blnd | format | source crop (l,t,r,b) | frame | name 
-----------+----------+------+------+----+------+-------------+--------------------------------+------------------------+------
HWC | 7d2f027f00 | 0002 | 0000 | 00 | 0100 | RGBx_8888 | 0.0, 0.0, 1080.0, 1920.0 | 0, 0, 1080, 1920 | com.android.systemui.ImageWallpaper
HWC | 7d2f027680 | 0002 | 0000 | 00 | 0105 | RGBA_8888 | 0.0, 0.0, 1080.0, 1920.0 | 0, 0, 1080, 1920 | com.android.launcher3/com.android.launcher3.Launcher
HWC | 7d2f027200 | 0002 | 0000 | 00 | 0105 | RGBA_8888 | 0.0, 0.0, 1080.0, 54.0 | 0, 0, 1080, 54 | StatusBar
HWC | 7d2b367d80 | 0002 | 0000 | 00 | 0105 | RGBA_8888 | 0.0, 0.0, 1080.0, 108.0 | 0, 1812, 1080, 1920 | NavigationBar
FB TARGET | 7d2f626e80 | 0000 | 0000 | 00 | 0105 | RGBA_8888 | 0.0, 0.0, 1080.0, 1920.0 | 0, 0, 1080, 1920 | HWC_FRAMEBUFFER_TARGET






猜你喜欢

转载自blog.csdn.net/zhangbijun1230/article/details/80205344