Android系统中启用bootchart

时间:2020-07-14
本文章向大家介绍Android系统中启用bootchart,主要包括Android系统中启用bootchart使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

bootchart是用于记录开机时进程启动时间的工具

默认情况下是没有启用的,在init.rc中是有启动的,看如下代码

1     # Start bootcharting as soon as possible after the data partition is
2     # mounted to collect more data.
3     mkdir /data/bootchart 0755 shell shell
4     bootchart start

但是,查看了一下bootchart的源码(在system/core/init/bootchart.cpp中),它启动要判断另外一个条件,代码如下:

 1 static int do_bootchart_start() {
 2   // We don't care about the content, but we do care that /data/bootchart/enabled actually exists.
 3   std::string start;
 4   if (!android::base::ReadFileToString("/data/bootchart/enabled", &start)) {
 5     LOG(VERBOSE) << "Not bootcharting";
 6     return 0;
 7   }
 8  
 9   g_bootcharting_thread = new std::thread(bootchart_thread_main);
10   return 0;
11 }

也就是说检查/data/bootchart/enabled文件是否存在(不管文件是不是有内容),如果存在就启用bootchart,这样就好办了,我们在/data/bootchart中随便新建一个名字enabled的空文件就好了。

启动android后使用adb shell touch /data/bootchart/enabled命令在/data/bootchart文件下添加enable标记,但是在不需要手机数据的时候要删除这个标记

修改完后再重新启动安卓系统发现/data/bootchart目录下有了下面几个文件:

header

proc_diskstats.log

proc_ps.log

proc_stat.log

接下来就可以用其他工具根据这些log生成图片了,比如pybootchartgui工具

原文地址:https://www.cnblogs.com/zongfanstudy/p/13301122.html