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

一、简介

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

       Android系统已经集成了Bootchart工具,位于源码的system/core/init/bootchart.cpp,特别值得关注的是system/core/init/README.md,在里面有详细的使用说明。在系统启动过程中,由于Bootchart是在init进程启动之后,才在后台执行测量任务,所以采集的结果不包含bootloader和kernel的启动时间。

       Bootchart官网

二、数据采集

1. Android 5.1及之前

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

       bootchart工具在Android系统开机测量中的应用_金陵猿客的博客-CSDN博客

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

       路径data/bootchart/下本来为空,bootchart start的前提是存在enable标记。

 

       Bootchart的start和stop点在init.rc中被标记。从下面截图可以看出,在data分区被mount后立即启动,在系统启动完成后stop。

    生成结果如下所示:

       压缩、导出:

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

       Bootchart download | SourceForge.net

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

       图表如下:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值