Bootchart使用

本文介绍了如何在Android设备上使用Bootchart来收集和分析开机过程的性能数据。内容包括Bootchart的配置、数据抓取步骤,如修改init.c、编译项目、启用功能、停止统计、数据打包以及生成图表的方法。同时,也提到了Bootchart在Ubuntu下的安装过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Bootcart结果

图表上部为CPUdisk的使用情况,从左到右是时间轴,下方是各进程的运行状态条,显示各进程的开始时间和结束时间以及对应cpuI/O利用情况。



2 bootchart数据抓取


Bootchart的数据抓取的devices必须有root权限,user权限下是获取不到的。

2.1 配置

要抓取手机开机一段时间的bootchart数据,需要进行如下配置。其实完全可以在:/local/sourcecode/AndroidL/system/core/init/目录下看bootchart的帮助文档README.BOOTCHART来完成。

1)执行:touch system/core/init/init.ctouch命令的作用就是将init.c文件的最后修改时间改为当前时间,这样保证init.c文件会被重新make,而bootchart就是在init.c中被调用的,从而保证bootchart会被编进系统中。

2)执行:./makeMtk –t –o=INIT_BOOTCHART=true project remake(可使用原生源码编译命令)

3)将编译好的bootimage重新烧写到手机上。

4)启用bootchart功能。adb shell ‘echo 120 > /data/bootchart-start’ 其中120是采集时间,可以根据需要调整。

5reboot devicesReboot之后,手机开机开始bootcharting统计数据,若此时想结束统计,只需:adb shell 'echo 1 > /data/bootchart-stop'

6)生成bootchart.tgz。这里有两种方法:

1、直接把bootchart好的数据pull出来,打包。命令是:adbpull /data/bootchart /local/tem/bootchart/;cd /local/tem/bootchart/;tar czf bootchart.tgz *Bootchart统计好的数据默认保存在data/bootchart下面,有下面5个文件:

/local/tem/bootchart/header

/local/tem/bootchart/kernel_pacct

/local/tem/bootchart/proc_diskstats.log

/local/tem/bootchart/proc_ps.log

/local/tem/bootchart/proc_stat.log

2android还是很贴心的,在system/core/init/有一个sh脚本可以直接运行,完成打包。命令:cd system/core/init/;./grab-bootchart.sh。这样,在init目录下生成bootchart.tgz注意,运行sh脚本时,devices一定处于debug调式下。

7)使用bootchart生成图片。命令:bootchart bootchart.tgz

2.2 bootchart的安装

ubuntu下,直接执行:$sudo apt-get install bootchart。至于bootchart工具怎么使用,自行根据-h的帮助文档来学习。

3 bootchart实现原理

bootchart.c位于/local/sourcecode/AndroidL/system/core/init/bootchart.c

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值