Android启动过程性能分析工具Bootchart

一、简介

Bootchart是一个用于GNU/Linux启动过程的性能分析和可视化呈现的开源软件工具。在系统启动过程中,自动收集资源利用率和进程信息,然后生成PNG、SVG或EPS编码的图表。

Android系统已经集成了Bootchart工具,位于源码的system/core/init/bootchart.cpp。在系统启动过程中,由于Bootchart是在init进程启动之后,才在后台执行测量任务,所以采集的结果不包含bootloader和kernel的启动时间。

Bootchart官网

二、数据采集

1. Android 5.1及之前

没有将bootchart编译进系统中,需要重新编译、替换boot.img文件。

https://blog.csdn.net/harry_helei/article/details/7281356

2. Android 6.0及之后

生成数据文件和Log:

adb shell
# 在6.0系统之后,需要通过su提权
su
# enabled文件作为启用bootchart的标记
touch /data/bootchart/enabled
# 自定义采样时间,且不能超过10*60s(可选,在6.0系统上必选)
echo $TIME_OUT > /data/bootchart/start
# 重启
reboot

如下所示:

压缩、导出:

adb shell
cd  /data/bootchart/
tar -zcf boochart.tgz *
adb pull xxx xxx
exit

三、配置PC环境

亲测在Ubuntu 18.04上,提示错误:"没有可安装候选":

sudo apt-get install bootchart

方法一:(推荐)

sudo apt-get install pybootchartgui 

方法二:

1. 下载源码bootchart-0.9.tar.bz2

https://sourceforge.net/projects/bootchart/

2. 安装Ant工具

sudo apt-get install ant 

3. 使用Ant编译源码

解压源码:

tar –jxvf bootchart-0.9.tar.bz2

在根目录编译:

ant

4. 生成bootchart.jar

四、生成图表

方法一:(推荐)

bootchart bootchart.tgz

方法二:

java -jar bootchart.jar bootchart.taz

图表如下:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章