bootchart简介
bootchart 可为整个系统提供所有进程的 CPU 和 I/O 负载细分。该工具不需要重建系统映像,可以用作进入 systrace 之前的快速健全性检查。
1. 板端配置:
在Android 板端启用 bootchart,请运行以下命令:
2. Bootchart 环境配置
在设备启动后,提取启动图表:
$ANDROID_BUILD_TOP/system/core/init/grab-bootchart.sh
完成后,请删除 /data/bootchart/enabled
以防止每次都收集日期数据。
如果 bootchart 不起作用,并且您看到说明 bootchart.png
不存在的错误消息,请执行以下操作:
运行以下命令:
bash
sudo apt install python-is-python3 cd /home/**/project/env/bootchart git clone https://github.com/xrmx/bootchart.git cd bootchart/pybootchartgui mv main.py.in main.py
更新 $ANDROID_BUILD_TOP/system/core/init/grab-bootchart.sh
以指向 pybootchartgui
的本地副本(位于 ~/Documents/bootchart/pybootchartgui.py
)
grab-bootchart.sh 修改方案:
cpp
diff --git a/init/grab-bootchart.sh b/init/grab-bootchart.sh
index 2c56698a1..874cd2ad0 100755
--- a/init/grab-bootchart.sh
+++ b/init/grab-bootchart.sh
@@ -10,6 +10,7 @@ mkdir -p $TMPDIR
LOGROOT=/data/bootchart
TARBALL=bootchart.tgz
+BOOTCHARTGUI=/home/**/project/env/bootchart/bootchart/pybootchartgui.py
FILES="header proc_stat.log proc_ps.log proc_diskstats.log"
@@ -17,6 +18,7 @@ for f in $FILES; do
adb "${@}" pull $LOGROOT/$f $TMPDIR/$f 2>&1 > /dev/null
done
(cd $TMPDIR && tar -czf $TARBALL $FILES)
-pybootchartgui ${TMPDIR}/${TARBALL}
+#pybootchartgui ${TMPDIR}/${TARBALL}
+python ${BOOTCHARTGUI} ${TMPDIR}/${TARBALL}
xdg-open ${TARBALL%.tgz}.png
echo "Clean up ${TMPDIR}/ and ./${TARBALL%.tgz}.png when done"