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
- Docker镜像管理
- 360春秋杯3道web题的简单分析
- Vue 2.0 学习总结,精华全在这里了
- 25.2 安装Docker
- 使用JDBC向Kudu表插入中文字符-cast的秘密
- 使用JDBC向Kudu表插入中文字符-双引号的秘密
- Yarn的JobHistory目录权限问题导致MapReduce作业异常
- 输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止
- Linux基础(day76)
- zabbix设置QQ邮箱告警
- 关于JSON CSRF的一些思考
- linux学习第七十篇:expect脚本同步文件,expect脚本指定host和要同步的文件,构建文件分发系统,批量远程执行命令
- linux学习第六十九篇:分发系统介绍,expect脚本远程登录,expect脚本远程执行命令,expect脚本传递参数
- linux学习第六十八篇:告警系统邮件引擎,运行告警系统
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- ShardingJdbc分库分表实战案例解析(下)
- 分布式链路追踪Skywalking Skywalking 存储客户端设计
- Kubernetes 的新武器:层级命名空间
- 手撕distributed ram类型同步FIFO
- 解决PIL透明的图片放在新图片上报错
- Dissonance 使用(一)
- Dissonance 使用(三)
- 从代码角度看各类子域名收集工具
- Shiro-550 PoC 编写日记
- k8s代码走读---client-go编程交互基础
- 故障恢复:一次底层超融合故障导致的异常处理
- JavaSE语法
- 链表:听说过两天反转链表又写不出来了?
- 汇总:MySQL 8.0 运维便捷命令
- 链表:一道题目考察了常见的五个操作!