【FAQ】全志R系列如何在Tina下使用bootchartd来分析rootfs启动时间?
-
问题背景
硬件: R818
软件: Tina2.5及以上
操作: bootchart工具打开后无法开机。
说明: 客户程序较复杂,系统应用起来时间有25秒,需要优化。bootchart无使用说明。问题简述
Tina整体启动时间中rootfs占用的比重很大,但是rootfs启动过程中log很多,在自启动脚本中也添加不了打印,造成启动时间统计非常不便。
Tina SDK有集成busybox bootchart工具,可使用该工具分析rootfs启动过程各个进程的启动时刻以及耗费时间等信息,可以让用户分析启动过程并进行针对性优化。
解决办法
该方法支持Tina所有方案。
Tina上开启bootchartd方法:
① make menuconfig,打开CONFIG_BUSYBOX_CONFIG_BOOTCHARTD
② 修改文件env-x.x.cfg,将“init=/sbin/init”修改为“init=/sbin/bootchartd”
③ 编译,烧写固件,设备启动后,等待一段时间(1min左右),直到出现/var/log/bootlog.tgz,使用adb pull将该文件拉到PC端。
④ 在PC端解压附件工具bootchart.tar.xz,运行命令“./bootchart/pybootchartgui.py bootlog.tgz”,生成bootchart.png图片,打开可得系统各进程的启动时间。bootchart.png图片分析
bootchart.png效果如下图所示,图中横坐标是时间,纵坐标是各进程信息。图上方两条是CPU和I/O的使用情况;下方是各个进程的运行状态,包含各个进程开始执行时间与结束时间,进程条上有颜色信息,表示对CPU、I/O的占用情况。
优化思路:
- 将主应用程序一起主应用依赖的程序提前执行,其他程序延后执行。
- 调整进程启动顺序,使CPU、I/O不要太高,避免竞争产生等待。
-
-
-
-
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号