前言
这里记录一下bootchart 的配置和使用,方便自己查阅。
正文
- 安装必要工具
- 在设备端使能bootchart,抓取数据
- 在服务器上解析bootchart数据,绘制成图
- 分析bootchart.png
安装必要工具
略,由于公司编译代码的服务器是可以使用bootchart 命令,这里就不介绍安装了,推荐看文末第一篇文章。
在设备端使能bootchart,抓取数据
C:\Users\water>adb root
C:\Users\water>adb remount
C:\Users\water>adb shell
mtk2712:/ # cd data/bootchart
mtk2712:/data/bootchart # touch enabled
断电重启设备,就会生成数据:
mtk2712:/data/bootchart # ls -la
total 1560
drwxr-xr-x 2 shell shell 4096 2021-01-01 09:40 .
drwxrwx--x 44 system system 4096 2022-08-18 09:34 ..
-rw-rw-rw- 1 root root 0 2021-01-01 09:38 enabled
-rw-rw-rw- 1 root root 942 2021-01-01 09:40 header
-rw-rw-rw- 1 root root 53724 2021-01-01 09:40 proc_diskstats.log
-rw-rw-rw- 1 root root 1459263 2021-01-01 09:40 proc_ps.log
-rw-rw-rw- 1 root root 33764 2021-01-01 09:40 proc_stat.log
在PC端解析bootchart数据,绘制成图
这里用工具手动解析,也就是先下载数据,然后PC断解析bootchart文件。
- 在设备端压缩bootchart文件
mtk2712:/data/bootchart # tar -czf bootchart.tgz *
- 拿出bootchart.tgzpull到桌面
C:\Users\water\Desktop>adb pull /data/bootchart/bootchart.tgz .
-
服务器上解析bootchart文件
需要把bootchart.tgz上传服务器,然执行
bootchart bootchart.tgz parsing 'bootchart.tgz'
编译情况如下:
android@R540:~/water/mtk2712$ bootchart bootchart.tgz parsing 'bootchart.tgz' /usr/lib/python2.7/dist-packages/gtk-2.0/gtk/__init__.py:57: GtkWarning: could not open display warnings.warn(str(e), _gtk.Warning) parsing 'bootchart.tgz' parsing 'enabled' parsing 'header' parsing 'proc_diskstats.log' parsing 'proc_ps.log' warning: no parent for pid '2' with ppid '0' parsing 'proc_stat.log' warning: path 'parsing' does not exist, ignoring. parsing 'bootchart.tgz' parsing 'enabled' parsing 'header' parsing 'proc_diskstats.log' parsing 'proc_ps.log' warning: no parent for pid '2' with ppid '0' parsing 'proc_stat.log' merged 0 logger processes pruned 125 process, 0 exploders, 2 threads, and 2 runs False bootchart written to 'bootchart.png'
上面就创建了bootchart.png
分析bootchart.png
对于图分析,这个由于我没有看懂,这里不附上。后续有空附上分析结果,
参考文章
- 《安卓系统调试与优化:(一)bootchart 的配置和使用_阿迷创客的博客-CSDN博客_bootchart》
- 《[Android][Framework]使用bootchart分析开机数据 - 腾讯云开发者社区-腾讯云 (tencent.com)》
历史上的今天
暂无评论...
随机推荐
Android.mk介绍之二预编译
Android.mk可以编译生成的文件类型:APK : Android程序,编译生成的apk文件Java库 : Java类库,编译打包生成的jar文件C/C++可执行的应用程序 : 可执行的C/C++应用程序C/C++静态库 : 编译生成的C/C++静态库,打包生成的.a文件C...
AudioTrack简单简介之四:wav去掉文件头之解决爆音
其实这个是我自己对WAV头文件没有理解对,应该早就解决了的。看图WAV文件头信息由大小44个字节的数据组成:4字节数据,内容为“RIFF”,表示资源交换文件标识4字节数据,内容为一个整数,表示从下个地址开始到文件尾的总字节数4字节数据,内容为“WAVE”,表示WAV文件标识4字节数...
胡适:人生问题
1903年,我只有十二岁,那年12月17日,有美国的莱特弟兄作第一次飞机试验,用很简单的机器试验成功,因此美国定12月17日为飞行节。12月17日正是我的生日,我觉得我同飞行有前世因缘。我在前十多年,曾在广西飞行过十二天,那时我作了一首《飞行小赞》,这算是关于飞行的很早的一首辞。诸位飞过大西洋、太...
梁实秋:快乐
天下最快乐的事大概莫过于做皇帝。“首出庶物,万国咸宁”。至不济可以生杀予夺,为所欲为。至于后宫粉黛三千,御膳八珍罗列,更是不在话下。清乾隆皇帝,“称八旬之觞,镌十全之宝”,三下江南,附庸风雅。那副志得意满的神情,真是不能不令人兴起“大丈夫当如是也”的感喟。在穷措大眼里,九五之尊,乐不可支。但是试起...
byte数组以十六进制字符串打印简介
前言在协议开发中,需要把byte数组格式化到日志中,方便查看收发的报文,比较常用的就是把byte数组格式化成十六制作的字符串。下面记录一下格式数据的方法,方便自己查阅。正文下面有常用的两种,效果都一样,个人比较喜欢第二种。隐藏内容!付费阅读后才能查看!¥1 ¥3多个隐藏块只需支付一次付费...
Android启动之冷、热和暖启动简介
前言记录一下应用的冷启动、热启动和暖启动。正文冷启动程序重头开始,程序重来没有创建进程。一般出现情况:程序按照成功后第一次启动程序被系统kill后再次打开热启动程序还驻留在内存中(存在后台中),再次被系统重新冲后台启动到前台,此时是不会重新加载xml和初始化。类似于Activi...