转自: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)
$ touch system/core/init/init.c
$ m INIT_BOOTCHART=true
编译生成新的可执行文件init,该文件在手机文件系统位于根/下,对应的flash image是boot.img,为此需重新烧写含有新的init的boot.img。
2)
adb shell 'echo $TIMEOUT > /data/bootchart-start'
其中$TIMEOUT是期望采样的时间,单位为秒,例如要采样两分钟,则执行:
adb shell 'echo 120 > /data/bootchart-start'
3)
header
proc_stat.log
proc_ps.log
proc_diskstats.log
kernel_pacct
需要注意,在手机上运行bootchart采样完成后若不再使用bootchart则需手工删除文件/data/bootchart-start,否则手机每次重启时都会运行bootchart。
4)
5)
dpkg -i bootchart_0.9-0ubuntu6_all.deb
会安装如下jar文件:
/usr/share/bootchart/bootchart.jar
6)
java -jar /usr/share/bootchart/bootchart.jar /path/to/bootchart.tgz
7)
3. 结果分析
参见bootchart官方网站文档(参考资料4)或参考资料3。
参考资料
1)
2)
3)
4)