- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
BootChart-Android文档(开机慢)
BootChart在Android中的应用
1 简介
Bootchart是一个能对GNU/Linux boot过程进行性能分析并把结果直观化的工具。它在boot过程中搜集资源利用情况及进程信息然后以PNG,SVG或EPS格式来显示结果。BootChart包含数据收集工具和图像产生工具,数据收集工具在原始的BootChart中是独立的shell程序,但在Android中,数据收集工具被集成到了init程序中。
2 BootChart使用步骤概述
在主机上安装BootChart
建立有BootChart支持的init文件
安装init到系统镜像
使能启动时的BootChart功能
收集系统产生的数据
根据产生的数据生成图表
结果分析
以下部分将对这些步骤进行详细描述(环境:Ubuntu9.04,Android1.6)。
3 详细说明
在主机上安装BootChart
$ sudo apt-get install bootchart
注:由于BootChart是用Java语言实现,所以要求其所运行的主机安装Java包。
创建支持BootChart功能的‘init’文件
Andoid系统中运行的第一个程序是init,其所在的目录为Andoid文件系统的根目录下(即/)。init是一个由内核启动的用户级进程,主要是对系统进行初始化和根据init.rc与init.xxx.rc文件建立几个基本的服务。
创建init时对BootChart的数据收集功能是可选的,默认的init是不支持BootChart的数据收集功能的。要想在Andoid中应用BootChart,必须创建支持BootChart数据收集功能的init。
$ cd ~/myandroid
$ export INIT_BOOTCHART=true
# vim system/core/init/Android.mk
20 ifeq ($(strip $(INIT_BOOTCHART)),true)
21 LOCAL_SRC_FILES += bootchart.c
22 LOCAL_CFLAGS += -DBOOTCHART=1
23 endif
# touch system/core/init/init.c
#cd device/qcom/msm7630_surf # vim BoardConfig.mk
ifeq ($(TARGET_BUILD_VARIANT),user)
BOARD_KERNEL_CMDLINE := androidboot.hardware=qcom androidboot.bootchart=xifangqing(Add this line)
# vim system/core/rootdir/init.rc(loglevel 3 改成 8, 这样INFO可以打印)
adb shell dmesg查看
$ make clean (删除out目录)
$ make (make kernel即可system/core..)
安装init到系统镜像
将生成的init拷贝到目标板的/目录下。(具体方法:将myandroid/out/target/product/zoom2/root下生成的init文件拷贝到~/work/root目录下,重新编译内核下载到板子上即可在/目录下找到支持BOOTCHART的init文件)
使能系统启动时的BootChart功能
# echo 120 /data/bootchart-start
重启系统,当init开始运行时,BootChart也开始收集数据,知道设定的时间结束(120seconds=2 minutes).
收集系统产生的数据
init过程激活BootChart数据收集工具,并将数据存储到目标系统的/data/bootchart路径下。
BootChart会在/data/bootchart目录下生成三个文件:
proc_diskstats.log
proc_ps.log
proc_stat.log
注:要重新收集数据时,需做以下步骤:
# cd /data
# rm –r bootchart
# rm bootchart-start
重启系统
# echo 120/data/bootchart-start
重启系统后就可以在/data/bootchart目录下看到新的数据
根据产生的数据生成图表
将上一步骤中产生的三个文件拷贝到主机上,运行如下命令渲染图像:
$ tar czf bootchart.tgz *.log
$ bootchart -f png bootchart.t
文档评论(0)