一, Bootchart簡介
官網地址:https://www.bootchart.org/
Google推薦bootchart作為開機優化的首選工具:https://source.android.com/devices/tech/perf/boot-times#bootchart
總之,bootchart 可為整個系統提供所有行程的 CPU 和 I/O 負載細分,該工具不需要重建系統映像,可以用作進入 systrace 之前的快速健全性檢查,
二,Bootchart和Android關系匪淺
Android 中包含了bootchart 的原始碼實作,路徑在 system/core/init/bootchart.cpp 中, bootchart 通過內嵌在 init 行程中實作,在后臺執行,不過 bootchart 的測量時段是 init 行程啟動之后,不包含 bootloader和 kernel 的啟動時間,
在init.rc中
on post-fs-data
...
bootchart start
on property:sys.boot_completed=1
...
bootchart stop
三, 編譯生成bootchart.jar
在開源原始碼網站上下載bootchart的原始碼, 遷移到ubuntu系統能,安裝JDK1.8和ant,在原始碼目錄直接ant就可以編譯生成bootchart.jar, 然后用原始碼中的example執行如下指令看看是否能生成開機時序圖:
java -jar bootchart.jar ./example/bootchart.tgz
四, 在Win10上如果獲取除錯手機開機的時序圖
1. 拷貝bootchart.jar到windows, 然后保證windows也安裝了open jdk 1.8;
2. 使能除錯手機的bootchart程式進行手機必要的開機log: adb shell 'touch /data/bootchart/enabled'
3. 在reboot除錯手機后,進入/data/bootchart目錄,先行洗掉enabled, 再執行 tar -zcf boochart.tgz *, 接著adb pull /data/bootchart/boochart.tgz;
4. 最后執行 java -jar bootchart.jar ./boochart.tgz 產生開機時序圖,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/287398.html
標籤:其他
