1. 程式人生 > >Linux系統下開機啟動時間檢測工具bootchart

Linux系統下開機啟動時間檢測工具bootchart

簡介

      Bootchart 是一種很方便的工具,主要用於分析Linux 系統下的啟動過程,並且能夠形成一個層次分明的圖片,讓使用者很直觀的檢視系統啟動的過程和各個過程耗費的時間,以便使用者能夠分析啟動過程,從而進行優化以提高啟動時間。它由bootchartd 服務和bootchart-render 兩部分組成,後者主要負責生成啟動流程的分析結果圖。

安裝bootchart

      目前,在各大Linux 發行版本中,基本都帶有這個包。你只需通過他們對應的源,進行安裝即可。具體的安裝方法可以參見各發行版的具體的包管理機制。

      另外,你還可以從 處下載到相應的原始碼包,進行編譯安裝即可。要注意的是bootchart

是一個基於java 的程式。所以的有相應的環境方可。

執行Bootchart

      要使bootchart 執行,你需要將他新增到引導器的初始化程序選項,或者手動在init 指令碼(通常是rc.sysinit )中手動新增。不過需要注意的是,如果你是手動新增到init 指令碼的,那麼也要手動停止它,這種情況需要特別留意!

啟動引導器設定

      下面我們介紹常用的方法,即將原有引導選項複製一份,並在核心項後面新增'init=/sbin/bootchartd' ,然後通過啟動引導器引導bootchart 。這樣bootchart 會在登入提示符出現的時候自動停止。

Grub 中新增的方法

      開啟/boot/grub/menu.lst, 複製貼上原有的引導記錄,並在kernel 行後新增"init=/sbin/bootchartd" 。如下例:

  

Grub 2 中的新增方法

     開啟/boot/grub/grub.cfg ,複製原來的引導區域並按照下面的範例修改之:

     然後你就可以重啟,並選擇代bootchart 選項的啟動項了。

rc.sysinit 指令碼中的設定方法

      這種方法有一定的危險性(可能導致原有系統無法啟動),所以除非前一種方法失敗,否則不要用這種方法。採用這種方式,不光是每次都要手動停止bootchart (否則很快就會佔滿硬體資源),而且每次開機都會執行一次,而且以後每次軟體包升級 /etc/rc.sysinit 的時候,這些設定都會被覆蓋掉。

另一方面,這種方式是可以讓你看到登入後所發生的一些東西的。

      編輯/etc/rc.sysinit 指令碼,先將下面這一行新增到/etc/rc.sysinit

  

      這一行不宜太靠前,否則這部分出問題會導致系統無法啟動。當然也不宜太靠後,因為他之前的專案都無法觀察得到。 我們推薦把他放在配置系統時鐘行的前面。找到如下行:

  

      將下面這一行新增到其前面:

生成bootchart 檔案

      在使用bootchart 啟動以後,我們要做的就是使用相關命令,生成一個適合檢視的圖片檔案。具體的生成步驟如下:

     1. 登入後關閉 bootchartd 服務

     這種方式一定記住,在登入後停止bootchartd 服務。你可以以管理員帳戶執行

也可以用sudo 通過下面的命令來執行:


     2. 生成分析結果圖表

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

      bootchart -o 目錄名 -f 檔案格式

     確保執行命令的目錄有寫許可權,程式就會生成一個名為'bootchart.svg' 的影象,這就是分析結果圖。當然如果你跟了 -f ,指定格式後,就會生產相應格式的影象檔案。

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

Bootchart 命令常用的引數介紹:

-f,--format <format> 指定檔案格式 (png | eps | svg; default: png)

-h,--help 列印幫助資訊

-o,--output-dir <dir> 指定檔案輸出到那個目錄下,預設是當前目錄

-v,--version 列印幫助資訊