android系统功耗问题:systrace

来源:互联网 发布:淘宝店铺折扣怎么设置 编辑:程序博客网 时间:2024/06/06 00:09

在做android/linux系统产品时,不可避免要解决功能,性能,功耗,用户体验问题;

其中功耗问题不可忽视,嵌入式设备电池续航能力是产品竞争力重要一环。

功耗问题,我们需要powermonitor或者精密电源查看各个场景下的功耗;

最近遇到的问题是:系统进入light sleep时,电量图上出现每500ms一个突起(俗称毛刺),通过系统log也不能发现是进程在搞鬼;

后来通过同事介绍,得知android 源码路径下就有个很好的工具:external/chromium-trace/systrace.py

这个工具是运行在linux(android开发常用的环境ubuntu)下的pc工具;

前提是adb 能够使用,先adb root ,adb remount后执行下面的脚本:

external/chromium-trace$./systrace.py -b 32768 -t 5 gfx input view sched freq sync irq hal wm am sm workq -o mytest.html

生成mytest.html后用chromium浏览打开:

通过 w/a/s/d键盘上的几个按键操作来放大缩小向前向后操作 ,可以查看各个进程在各个cpu上的使用情况,及耗时情况,周期信息,及执行函数;

通过上述操作找到这个500ms为周期的突起是 ksmd,linux 内核的一个守护进程,用来做相同页合并的内存管理的进程;

另外一个好的工具strace也很好用!


原创粉丝点击