RK2908开机时间分析及优化
来源:互联网 发布:网络摄像头在线直播 编辑:程序博客网 时间:2024/04/29 17:38
1 RK2908开机时间分析和优化文档背景概述
目前由于RK2908开机时间比较长(平均35s)可能对一体机项目的整体体验造成影响,所以需要对RK2908开机整个流程进行分析,是否有优化的地方。
2 分析RK2908开机所用的整体时间
2.1 统计的方法
采用bootchart 生成bootchart.png
2.1.1 Bootchart简介
Bootchart 是一个能对 GNU/Linux boot 过程进行性能分析并把结果直观化的工具。它在 boot 过程中搜集资源利用情况及进程信息然后以 PNG,SVG 或 EPS 格式来显示结果。 BootChart 包含数据收集工具和图像产生工具,数据收集工具在原始的 BootChart 中是独立的 shell 程序,但在 Android 中,数据收集工具被集成到了 init 程序中。(Bootchart在android系统中的使用见文档:bootchart-android)
2.1.2 Bootchart结果
2.1.3 分析结果
图中4个区域就是整个开机耗时的地方
1: kernel init
大概7s左右
2:zygote class preloading
从7-19s,大概12s
3:systemserver start
从19-32s,大概13s
4:packagemanager package scanning
从32-51s,大概19s
从中可以看出大部分时间都在preload classes和start systemservers及scan packages
3 优化方案
从实际的测试数据分析,首先可以优化zygote的装载类。
zygote的装载类preloaded-classes在下载源码的时候已经确定,在RK2908的SDK中,这个文件共加载了2000多个类,进行分类,主要加载的类有:google服务的类及android framework的类及java类。想做极速启动,可以在preloaded-classes文件中,把不预装载的类去掉只剩下java的类以加快启动速度,但是会影响HOME的响应,apk的响应。
优化/system/app/下的apk包,可以减少一些不需要的apk,从而加快scan packages的时间。Apk的删减建议可以看文档:systemapp中的APK一览.xlsx
优化系统预装语言支持。可以裁减系统预装语言只保留中文(简体),英语。
优化systemserver,server的优化建议可以看文档:SystemServer中启动服务列表.xlsx
可以去掉android开机动画,bootanimation。去掉bootanimation方法可以参考文档:
4 优化后RK2908开机所用的整体时间
1 2 3 4 5 6 7 8 9 10
24 23 23 23 22 21 23 23 23 23
5 优化结论
通过对preloaded-classes,scan packages,systemserver,bootanimation的分析和优化,初步可以得出此次优化效果还是比较明显的,但优化后对整个系统的影响需要做进一步的评估。
目前由于RK2908开机时间比较长(平均35s)可能对一体机项目的整体体验造成影响,所以需要对RK2908开机整个流程进行分析,是否有优化的地方。
2 分析RK2908开机所用的整体时间
2.1 统计的方法
采用bootchart 生成bootchart.png
2.1.1 Bootchart简介
Bootchart 是一个能对 GNU/Linux boot 过程进行性能分析并把结果直观化的工具。它在 boot 过程中搜集资源利用情况及进程信息然后以 PNG,SVG 或 EPS 格式来显示结果。 BootChart 包含数据收集工具和图像产生工具,数据收集工具在原始的 BootChart 中是独立的 shell 程序,但在 Android 中,数据收集工具被集成到了 init 程序中。(Bootchart在android系统中的使用见文档:bootchart-android)
2.1.2 Bootchart结果
2.1.3 分析结果
图中4个区域就是整个开机耗时的地方
1: kernel init
大概7s左右
2:zygote class preloading
从7-19s,大概12s
3:systemserver start
从19-32s,大概13s
4:packagemanager package scanning
从32-51s,大概19s
从中可以看出大部分时间都在preload classes和start systemservers及scan packages
3 优化方案
从实际的测试数据分析,首先可以优化zygote的装载类。
zygote的装载类preloaded-classes在下载源码的时候已经确定,在RK2908的SDK中,这个文件共加载了2000多个类,进行分类,主要加载的类有:google服务的类及android framework的类及java类。想做极速启动,可以在preloaded-classes文件中,把不预装载的类去掉只剩下java的类以加快启动速度,但是会影响HOME的响应,apk的响应。
优化/system/app/下的apk包,可以减少一些不需要的apk,从而加快scan packages的时间。Apk的删减建议可以看文档:systemapp中的APK一览.xlsx
优化系统预装语言支持。可以裁减系统预装语言只保留中文(简体),英语。
优化systemserver,server的优化建议可以看文档:SystemServer中启动服务列表.xlsx
可以去掉android开机动画,bootanimation。去掉bootanimation方法可以参考文档:
4 优化后RK2908开机所用的整体时间
1 2 3 4 5 6 7 8 9 10
24 23 23 23 22 21 23 23 23 23
5 优化结论
通过对preloaded-classes,scan packages,systemserver,bootanimation的分析和优化,初步可以得出此次优化效果还是比较明显的,但优化后对整个系统的影响需要做进一步的评估。
- RK2908开机时间分析及优化
- Android开机时间分析
- Android开机时间分析
- Android开机时间分析
- Android开机时间分析
- MTK开机时间慢分析
- 优化开机过程中的内核空闲时间
- 优化开机过程中的内核空闲时间
- 嵌入式linux开机时间优化小结
- 利用注册表优化系统,减少开机时间
- [FAQ18051]M版本开机时间优化
- 开机时间分析工具WPT Xperf使用
- android bootchart 分析开机启动时间
- android开机logo分析和优化
- ubuntu双系统开机顺序及时间设置
- CentOS开机启动时间修改及保存
- Android启动时间优化查看及冷启动时间优化优化
- Windows开机关机故障分析及排除
- 驱动程序入门示例
- Dojo1.8笔记2 安装
- UpdateData() --MFC函数
- 北电资料百度文库
- Android菜单详解——理解android中的Menu
- RK2908开机时间分析及优化
- django官方文档——统计查询
- timing verification----recovery timing check
- awk指令详解的笔记
- Step By Step(C++模板推演)
- MySQL主从复制原理
- 对vc++6.0的程序进行移植时出现的错误及处理(一)
- Linux 共享库配置 /etc/ld.so.conf
- 孩子睡好觉的7个方式