Android 开机时间分析工具-----perfboot

Android系统自带了一个非常好用的工具:perfboot.py
android/system/core/init/perfboot.py
这个工具是用来干什么的呢?通过名字就能看出来个大概。boot的performance。
看看该文件的一个说明:
This script repeats the record of each event log during Android boot specified times. By default, interval between measurements is adjusted in such a way that CPUs are cooled down ufficiently to avoid boot time slowdown caused by CPU thermal throttling. The result is output in a tab-separated value format.

就是通过读取Android系统的log输出,来定位开机过程中不同阶段的时间。

给脚本还给出了使用用例:
Examples:

Repeat measurements 10 times. Interval between iterations is adjusted based on
CPU temperature of the device.

$ ./perfboot.py --iterations=10

**Repeat measurements 20 times. 60 seconds interval is taken between each
iteration.**

$ ./perfboot.py --iterations=20 --interval=60

Repeat measurements 20 times, show verbose output, output the result to
data.tsv, and read event tags from eventtags.txt.

$ ./perfboot.py --iterations=30 -v --output=data.tsv --tags=eventtags.txt

主要是三个参数:
1.重复次数 –iterations=10 获取10次数据
2.每次之间的间隔时间。 –interval=60 每次的时间间隔是60s
3.输出结果路径 -v –output=data.tsv 得到的结果写到data.tsv文件中。
主要是过滤如下的日志信息:

The default event tags to record.

_DEFAULT_EVENT_TAGS = [
‘boot_progress_start’,
‘boot_progress_preload_start’,
‘boot_progress_preload_end’,
‘boot_progress_system_run’,
‘boot_progress_pms_start’,
‘boot_progress_pms_system_scan_start’,
‘boot_progress_pms_data_scan_start’,
‘boot_progress_pms_scan_end’,
‘boot_progress_pms_ready’,
‘boot_progress_ams_ready’,
‘boot_progress_enable_screen’,
‘sf_stop_bootanim’,
‘wm_boot_animation_done’,
]

$ ./perfboot.py –iterations=5 –interval=30 -v –output=bootdata.tsv

下图是我得到了五组开机时间数据,求出平均值得到的开机时间图。下面就可以开始分析了。
这里写图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值