Bootchart

出自 Arch Linux 中文维基

本文內容或本節內容已經過期。

原因: 請提供模板的第一個位置參數以概括原因。 (在Talk:Bootchart討論)

這篇文章或章節的翻譯不反映原文。

原因:Last updated in 2017 (490242), out of sync with English page(在 Talk:Bootchart# 中討論)

使用 Bootchart 可以很方便地分析 Linux 啟動流程,分析結果可以用來優化啟動速度。包含的 bootchartd 服務負責記錄及展示分析結果。

注意: Bootchart 已經成為 systemd 的一部分,請參考 Improve boot performance#Analyzing the boot process 頁面。本文介紹的是合併之前的老版本和bootchart2。

安裝Bootchart[編輯 | 編輯原始碼]

安裝 bootchartAUR

運行Bootchart[編輯 | 編輯原始碼]

要運行 bootchart,需要將他添加到引導器的初始化進程選項,或者手動在init腳本(通常是rc.sysinit)中手動添加。不過需要注意的是,如果你是手動添加到init腳本的,那麼也要手動停止它,總之,這種情況需要特別留意!

啟動引導器設置[編輯 | 編輯原始碼]

下面我們介紹常用的方法,即將原有引導選項複製一份,並在內核項後面添加init=/usr/bin/bootchartd. 方法參閱kernel parameters. 然後通過啟動引導器引導bootchart。這樣bootchart會在登錄提示符出現的時候自動停止。

生成分析結果圖表[編輯 | 編輯原始碼]

你可以通過運行下面的命令來生成分析結果圖:

bootchart-render

確保運行命令的目錄有寫權限,程序就會生成一個名為'bootchart.png'的圖像,這就是分析結果圖。

你需要事先安裝Java運行環境並且在此之前設置正確。

問題解決[編輯 | 編輯原始碼]

Bootchart-render 如果無法生成 'bootchart.png' 圖片並顯示如下錯誤信息:

/var/log/bootchart.tgz not found

主要原因是 bootchartd 無法檢測到啟動過程何時停止。如該使用非 KDM 或 GDM 的啟動管理器如 SLIM 或 entrance 時會發生這個問題。可以打開 /sbin/bootchartd 腳本並將這些程序加到 exit_proc 變量中:

# The processes we have to wait for
local exit_proc="gdmgreeter gdm-binary kdm_greet kdm slim"

如果沒有使用啟動管理器,修改 exit_proc 變量為:

# The processes we have to wait for
local exit_proc="login"

參考資料[編輯 | 編輯原始碼]