zl程序教程

您现在的位置是:首页 >  系统

当前栏目

Android5.1 bootchart在Mac使用说明(OK)(六十九)

Mac 说明 OK 使用
2023-09-14 09:09:56 时间

Android5.1 bootchart在Mac使用说明(OK) 

参考:http://blog.csdn.net/dabenxiong666/article/details/52017352
    https://www.zybuluo.com/guhuizaifeiyang/note/886803
    http://blog.csdn.net/azhengye/article/details/69831590
    http://chendongqi.me/2017/02/16/boot_performance/
    https://source.android.com/devices/tech/perf/boot-times
    
bootchart是一个用于linux启动过程性能分析的开源软件工具,在系统启动过程自动收集CPU占用率、进程等信息,并以图形方式显示分析结果,可用作指导优化系统启动过程;目前Android已自带bootchart,但缺省时不被编译。要使用bootchart步骤:

修改代码:
1.system/core/init/Android.mk中在ifeq ($(strip $(INIT_BOOTCHART)),true) 前面加入:
  INIT_BOOTCHART = true 
2.system/core/init/bootchart.h加入:
      #deinfine BOOTCHART 0
  改为:
      #deinfine BOOTCHART 1
3.system/core/init/bootchart.c中加入:
<1>
    #define LOG_ROOT  "/data/bootchart" 
    改为:
    #define LOG_ROOT  "/dev/bootchart"

<2>在bootchart_init()函数加入:
    s = strstr(cmdline, KERNEL_OPTION);
    添加:
    timeout = 120;//120:android系统启动会抓取120秒的log,可以自己随意改动.

4.编译:
# mmm system/core/init
# make ramdisk -j8

 将编译出来的ramdisk.img打包成boot.img并烧录到android设备

4. 重启手机,init运行时将自动创建文件夹/dev/bootchart/,并在其中保存采样数据,采样数据由5个文件组成:
  header
  proc_stat.log
  proc_ps.log
  proc_diskstats.log
  kernel_pacct 

5.打包采样数据为.tgz文件:
# busybox tar -czf bootchart.tgz header proc_stat.log proc_ps.log proc_diskstats.log kernel_pacct 
# adb pull /dev/bootchart.tgz  . 

6.Mac安装bootchart步骤:
<1>.下载最新源码
    http://www.bootchart.org/download.html
<2>.解压
<3>.执行ant命令:
# ant
<4>.
# java  -jar   bootchar.jar   /path/to/bootchart.tgz   #生成bootchart.png图片