[Android] bootchart 開機時間測量

最近換了新工作,沒想到又要做一些以前做過的事情,但是以前筆記做得很不確實,所以今後都要認真記錄起來。

Bootchart其實是Linux既有的工具,在此記錄Android上的用法

這份文件其實寫的很清楚
system/core/init/README.BOOTCHART

在Android.mk,可以看到如果有define INIT_BOOTCHART,就會把bootchart編進init裡面
system/core/init/Android.mk
#ifeq ($(strip $(INIT_BOOTCHART)),true)
LOCAL_SRC_FILES += bootchart.c
LOCAL_CFLAGS    += -DBOOTCHART=0
#endif


之後編譯
  • m INIT_BOOTCHART=true

如果不想大build
可以在修改Android.mk之後
  • mmm system/core/init #mmm $MODULE_NAME

要讓開始記錄
首先,進入deive
  • adb shell

建一個bootchart目錄在/data
  • mkdir /data/bootchart'
  • echo 120 > /data/bootchart-start

重開機之後,/data/bootchart 會有下列檔案:
  • header
  • kernel_pacct
  • proc_diskstats.log
  • proc_stat.log
  • proc_ps.log


把這些檔案tar起來,抓出來分析
  • cd /data/bootchart
  • tar -czf bootchart.tgz *
注意不要tar到資料夾那層

我們要把它做成美美的圖片
說明寫到:
1/ download the sources from www.bootchart.org
2/ unpack them
3/ in the source directory, type 'ant' to build the bootchart program
4/ type 'java -jar bootchart.jar /path/to/bootchart.tgz

但是在ubuntu中可以直接裝bootchart轉檔工具
  • apt-get install bootchart

最後,轉檔成功!!
  • bootchart bootchart.tgz -o boot.png

留言

這個網誌中的熱門文章

Mac起步:常用軟體及設定

台灣可用線上音樂串流網站

醍醐味