Android8.1系统中启用bootchart
分类:Android, Android, Java, Operating System
阅读 (1,528)
3月 072020
bootchart是用于记录开机时进程启动时间的工具
默认情况下是没有启用的,在init.rc中是有启动的,看如下代码:
1 2 3 4 |
# Start bootcharting as soon as possible after the data partition is # mounted to collect more data. mkdir /data/bootchart 0755 shell shell bootchart start |
但是,查看了一下bootchart的源码(在system/core/init/bootchart.cpp中),它启动要判断另外一个条件,代码如下:
1 2 3 4 5 6 7 8 9 10 11 |
static int do_bootchart_start() { // We don't care about the content, but we do care that /data/bootchart/enabled actually exists. std::string start; if (!android::base::ReadFileToString("/data/bootchart/enabled", &start)) { LOG(VERBOSE) << "Not bootcharting"; return 0; } g_bootcharting_thread = new std::thread(bootchart_thread_main); return 0; } |
也就是说检查/data/bootchart/enabled文件是否存在(不管文件是不是有内容),如果存在就启用bootchart,这样就好办了,我们在/data/bootchart中随便新建一个名字enabled的空文件就好了。
修改完后再重新启动安卓系统发现/data/bootchart目录下有了下面几个文件:
header
proc_diskstats.log
proc_ps.log
proc_stat.log
接下来就可以用其他工具根据这些log生成图片了,我使用的是linux下的pybootchartgui工具
Sorry, the comment form is closed at this time.