TOP設計・移行・活用> LKSTのオーバーヘッド
OSS適用システムの障害解析ツール
OSS適用システムの障害解析ツール

第4回:MIRACLE LINUXによる実践的なLKSTの利用
著者:ミラクル・リナックス  武田 保真   2005/7/5
前のページ  1  2   3  4  次のページ
LKSTのオーバーヘッド

   今回、LKSTの性能評価機能の組み込みによるオーバーヘッドの計測を行うため、いくつかのベンチマークを実行した。今回は、次の3つのベンチマーク結果について掲載する。
  • Linux Kernelビルド
  • chatbench
  • dbench

   その他の詳細なデータについては、IPA(独立行政法人情報処理推進機構)および、日本OSS推進フォーラム・開発基盤ワーキンググループ公開の「LKST(Linux Kernel State Tracer)によるカーネル性能評価ツールの開発」報告書を参照していただきたい。

評価環境

   評価は、次の環境で行った。

CPU Intel Xeon 2.80GHz HyperThreading対応 × 1個
Memory 1GB
Disk U320 SCSI HDD 36GB
Software MIRACLE LINUX V3.0

   LKST性能評価機能のオーバーヘッドを計測するため、ベンチマークの対象として次の5つのパターンを用意した。

1. No LKST
LKSTの機能が組み込まれていないカーネル
2. LKST norec
LKSTの機能が組み込まれていて、すべてのフックポイントが無効の状態
3. LKST logtools
LKST性能評価機能で利用されるすべてのフックポイントを有効にした状態
4. LKST nolock
LKST性能評価機能で利用されるフックポイントのうち、スピンロック関連データの取得に用いられるフックポイントのみ無効にし、その他のフックポイントを有効にした状態
5. LKST ALL
LKSTで記録可能なすべてのフックポイントを有効にした状態

   それぞれの測定パターンとフックポイントの関係を図1で表す。

測定パターンとフックポイントの関係
図1:測定パターンとフックポイントの関係


kernel build

   Linuxカーネルは、多数のソース、ヘッダファイルから構成されており、カーネルビルドによって、コンパイルのための演算、ファイルのI/Oなどが頻繁に行われる。

   そのため、カーネルビルドに要する時間は、CPU演算性能、ディスクI/O性能といったハードウェアの要因と、スケジューリング、I/O処理、プロセス管理、メモリ管理などのカーネルの実装に基づいたソフトウェアの要因の双方に依存している。

   Linux開発者の間では、簡単なベンチマークの指標のひとつとしてカーネルビルドの時間を利用することがある。

   今回は、Linux Kernel 2.4.28のビルドにかかる時間をそれぞれのパターンで計測して、LKSTのオーバーヘッドの計測を行った。

カーネルのビルド時間の計測結果
図2:カーネルのビルド時間の計測結果

   図2は、カーネルのビルド時間のうちの、"user time"、"system time"、"real time"を表している。パターン1のNo LKSTでの測定結果を基準とした相対グラフで表している。

   LKST性能評価機能が実際にシステムのパフォーマンスにあたえる影響の割合を知るために、"user time"と"system time"の合計時間を図3に表しておく。

“user time“と“system time“の合計時間の比較
図3:"user time"と"system time"の合計時間の比較

前のページ  1  2   3  4  次のページ


ミラクル・リナックス株式会社 武田 保真
著者プロフィール
ミラクル・リナックス株式会社   武田 保真
2001年入社。「MIRACLE LINUX Standard Edition V1.1」から製品開発に携わり今に至る。Samba、Kernelなどのパッケージメンテナンスを経て、最近はAsianuxプロジェクトでの製品開発が主な業務。気になったことにはすぐ手を出すために、一時期はインストーラも担当していたほど、ミラクルの何でも屋担当。


INDEX
第4回:MIRACLE LINUXによる実践的なLKSTの利用
  はじめに
LKSTのオーバーヘッド
  chatベンチ
  フックポイントの絞りこみ