LinuxSoft

bootchart で起動時のプロセス推移や負荷をグラフ化

bootchart って何をするの?

 bootchart(ブート・チャート) はサーバ起動時の負荷状況やプロセスの推移をグラフ化するためのツールです。CPU の使用率やディスク I/O 状況、稼働していくプロセスの推移が目に分かるようになります。

 動作原理は、ブートローダーはカーネルが /sbin/init の代わりに /sbin/bootchartd を実行させます。bootchartd によって init が呼び出されて逐次 /proc 配下のシステム情報を記録するという仕組みです。作成されたログを元にして画像を作成します。

 これを使うことによって、無駄なデーモンの発見・削除をして最適化を図ったり、システムの更新(CPU の変更や HDD の SCSI 化など)の効果を目で確認・保存しておくためにも使うことができます。起動速度を競ってみても面白いかもしれませんね。

対応しているシステム

 Linux 系全般に対応しているようです。

bootchart の英語情報

bootchart のライセンス

GNU General Public License v.2

 無料で自由に使うことが出来ます。作者さんに感謝ですね。

bootchart のセットアップ

 ここでは Fedora Core 4 にインストールした場合の例です。ブートローダーは GRUB を前提にしています。

セットアップ手順

 まずはファイルの取得とダウンロードです。

$ cd /usr/local/src
$ wget http://jaist.dl.sourceforge.net/sourceforge/bootchart/bootchart-0.8.tar.bz2
$ tar xfj bootchart-0.8.tar.bz2
$ cd bootchart-0.8

 次に、インストールスクリプトの実行をします。/sbin/grubby にパスが通っていないとエラーが出るので、念のため PATH を通します(通ってないとエラーになります)。

# export PATH=$PATH:/sbin
# ./install.sh

 特にエラーがでなければ問題ありません。これで自動的に grub.conf に以下のような記述が追加されます。

title Bootchart logging
        root (hd0,0)
        kernel /vmlinuz-2.6.12-1.1398_FC4 ro root=LABEL=/ rhgb quiet init=/sbin/bootchartd
        initrd /initrd-2.6.12-1.1398_FC4.img

 以上でセットアップは終わります。

サーバを起動してログをとる

 次はサーバを再起動します。

 再起動後に『〜Seconds...』と GRUB の画面が表示されますので、まず何かキーを押します。続いて、矢印キーを使って【 Bootchart logging 】の行を選び、エンターキーを押します。

 あとは通常通りサーバがブートします。

 ブートし終わったら bootchart によるログが /var/log/bootchart.tgz に保存されています。ls でファイルの存在を確認します。

# ls -al /var/log/bootchart.tgz
-rw-r--r--  1 root root 78875  7月 31 22:34 /var/log/bootchart.tgz

 このように中身のあるファイルが作成されていれば問題ありません。

ログを元に画像を作成する

 画像を作成するためには bootchart 中に付属している Java ツールを使う方法もありますが、Java のコンパイル環境を整備しなくてはいけないので、curl を使って外部のサービスを利用させていただく方法をとります。

 画像の出力先を /var/www/html/bootchart.png とすると(出力先は > のリダイレクト先を任意に指定できます。どこでも構いません。)

$ cd /var/log
$ curl --form format=png --form log=@/var/log/bootchart.tgz \
    http://bootchart.klika.si:8080/bootchart/render \
    > /var/www/html/bootchart.png

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  234k    0  152k  100 84425  10412   5641  0:00:14  0:00:14 --:--:-- 16625

 ネットワーク状況によっては処理が終わるまで時間がかかるかもしれません。

 これで標準のドキュメントルート直下に bootchart.png というファイルが作成されます。あとはブラウザ上から http://ホスト名/bootchart.png へとアクセスすると画像が確認出来ます。このような画像が表示されていれば OK です

 InitNGを使ってサーバのブート速度を高速化すると、効果が目の当たりにできてうれしかったりします。

 サーバの客観的な性能評価や比較資料としても用いる事ができるかもしれませんね。

bootchart の日本語情報

 オリジナル文章の日本語訳です(の予定です、ちょっち未定)

  • bootchart Docs?
  • bootchart README?
  • bootchart README.logger?
  • bootchart INSTALL?

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: Fri, 26 Aug 2005 00:10:58 JST (6815d)