bootchart使用说明

转自:http://blog.sina.com.cn/s/blog_69a04cf40100wy3c.html

注:这是本人两年多以前写的文档,贴在这里作为备份,由于当时是针对 Android 1.6(Donut)编写的,部分内容可能已经不适用于目前版本的Android,仅供参考。

1.     bootchart简介

bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自动收集CPU占用率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统启动过程。

2.     使用方法和步骤

目前Android已自带bootchart,但缺省时不被编译。要使用bootchart,可依循如下步骤(已在3200版本上验证通过):

1)  设置环境变量INIT_BOOTCHART=true,重新编译Android源码目录树下的system/core/init/

$ touch system/core/init/init.c

$ m INIT_BOOTCHART=true

 

编译生成新的可执行文件init,该文件在手机文件系统位于根/下,对应的flash imageboot.img,为此需重新烧写含有新的initboot.img

 

2)  在手机上创建文件/data/bootchart-start,其内容是bootchart的采样时间:

adb shell 'echo $TIMEOUT > /data/bootchart-start'

其中$TIMEOUT是期望采样的时间,单位为秒,例如要采样两分钟,则执行:

adb shell 'echo 120 > /data/bootchart-start'

 

3)  重启手机,init运行时将自动创建文件夹/data/bootchart/,并在其中保存采样数据,采样数据由5个文件组成:

header

proc_stat.log

proc_ps.log

proc_diskstats.log

kernel_pacct

 

需要注意,在手机上运行bootchart采样完成后若不再使用bootchart则需手工删除文件/data/bootchart-start,否则手机每次重启时都会运行bootchart

 

4)  将上述5个文件上传到PC上并打包成bootchart.tgz,可借助Android源码目录树下提供的工具脚本system/core/init/grab-bootchart.sh自动完成这些过程,或手工通过adb pull将这5个文件上传到PC并打包。

5)  www.bootchart.org下载安装bootchartPC上的结果图表生成工具,我已下载uBuntu上的debbootchart_0.9-0ubuntu6_all.deb,安装即可:

dpkg -i bootchart_0.9-0ubuntu6_all.deb

会安装如下jar文件:

/usr/share/bootchart/bootchart.jar

6)  执行下面的命令生成分析结果图表,缺省生成png格式的图像文件bootchart.png

java -jar /usr/share/bootchart/bootchart.jar /path/to/bootchart.tgz

 

7)  用看图软件查看分析结果bootchart.png

3.     结果分析

参见bootchart官方网站文档(参考资料4)或参考资料3

参考资料

1)       system/core/init/README.BOOTCHART

2)       Qualcomm, 80-VR693-1 A, Jun 2009

3)       http://elinux.org/Using_Bootchart_on_Android, Using Bootchart on Android

4)       http://www.bootchart.org

你可能感兴趣的:(bootchart使用说明)