TOP設計・移行・活用> 従来LKSTに対する機能拡張
OSS適用システムの障害解析ツール
OSS適用システムの障害解析ツール

第3回:Linuxカーネルの性能評価機能(LKST)とは
著者:日立製作所  平松 雅巳、杉田 由美子   2005/6/28
前のページ  1  2   3  4  次のページ
従来LKSTに対する機能拡張

   カーネルの処理を大きく分類し、それぞれの性能指標を得ることができるように、従来のLKSTに対して主要なカーネル処理の入口と出口にフックを追加した。各性能指標のための評価項目とフックの追加箇所を表1に示す。
項番 収集情報区分 評価項目 測定箇所
1 システムコール 処理時間 システムコールの入口と出口
2 使用傾向 システムコールの入口
3 ソフトウェア割り込み 実行遅延時間 ソフトウェア割り込み要求の実行場所
4 応答性能 タイマ割り込みの実行場所
5 メモリ確保 処理時間 メモリ確保の入口と出口
6 メモリ解放 処理時間 メモリ解放の入口と出口
7 ブロックIO 処理時間 ブロックIOの入口と出口
8 IOリクエストキュー ブロックIOの入口
9 ネットワークIO 処理時間 ネットワークIOの入口と出口
10 通信サイズ傾向 ネットワークIOの入口
11 ロック 競合傾向 ロック取得待ちの開始と終了
12 ロック時間 ロック取得とロック解放
13 スケジューラ ランキューの傾向 スケジューラの入口
14 ウェイトキューの傾向 ウェイトキューの入口と出口
15 ウェイト処理遅延時間 ウェイトキューの入口と出口
16 スケジューラ処理時間 スケジューラの入口と出口
17 プロセス プロセスの生存時間 フォーク、プロセス終了
18 プロセスの状態遷移 フォーク、コンテキストスイッチ、ウェイクアップ、プロセス終了

表1:測定項目と箇所

   なお、フックの追加は、従来のLKSTが提供している"フックポイントの追加方法"にしたがって実現した。この方法については、LKSTのパッケージに同梱しているhowto.txtを参照して頂きたい。


性能解析ツール(lkstla)

   性能解析ツールlkstla(LKST Log Analyzer)は、新たに取得した性能情報を解析するためのコマンドである。これが今回の目玉機能と言っても過言ではない。LKSTのコマンドlkstbufやlkstlogdが出力したバイナリログデータを解析し、あるイベント処理の実行時間の分布や平均値などを出力する。

   lkstlaコマンドはアナライザを指定して実行する。アナライザとは、ログデータを解析し、解析できたイベントごとに「キー」「評価値」「イベント開始時間」「PID」に該当する値を返す機能である。現在は表2に示す20種類のアナライザと、3通りの表示形式(可視化ツール使用)をサポートしている。

分類 アナライザ名 解析対象
ブロックIO関連 blkqueue リクエストキューごとのブロックIOキューの長さ
biotime ブロックデバイスごとのブロックIO要求処理時間
bioqueue ブロックIO要求処理時間とブロックIOキューの関係
スピンロック関連 busywait スピンロックの呼び出し位置と、ビジーウェイト時間
spinlock スピンロックの呼び出し位置と、ロック時間
ネットワーク関連 netroute IPv4ルーティングテーブルの検索時間
netsend パケットを送出するのにかかった時間
メモリ管理関連 palloc ページの確保時間
vmscan ページの回収方法ごとのページ回収時間
プロセス関連 procstat プロセスごとの状態遷移
proclive プロセスごとの生存時間
runqueue CPUごとのランキューの長さ
schedule プロセスごとのスケジューリング処理時間
schedrun ランキューの長さと、スケジューリング処理時間
ソフトウェアIRQ関連 softirq ソフトウェアIRQの種類ごとに、割り込み要求があってから実行するまでの時間
timer ソフトウェアタイマが実行された時間と設定した時間との差
システムコール関連 syscall システムコールごとのシステムコールを実行している時間
ウェイトキュー関連 waitqueue ウェイトキューにたまっているプロセスの数
waittime ウェイトキューで待っていた待ち時間
その他 event 記録されたイベントの種類

表2:性能解析ツールのアナライザ一覧

   lkstlaの詳細仕様については、下記URLより公開されている「lkstlogtools version1.0.1 使用説明書」を参照して頂きたい。

http://lkst.sourceforge.jp/
可視化ツール

   可視化ツールは、解析ツールにより得られた情報をグラフとして表示するツール群であり、4種類を提供している。

時系列グラフプロットツール:lkst_plot_log
lkstlaで解析した時系列ログから、gnuplotでグラフとしてプロットしたものをpdf化し表示する。
統計結果グラフプロットツール:lkst_plot_stat
lkstlaで解析した統計結果から、gnuplotでグラフとしてプロットしたものをpdf化し表示する。
対数分布ヒストグラムプロットツール:lkst_plot_dist
lkstlaで解析した対数分布結果を、gnuplotでヒストグラムとしてプロットしたものをpdf化し表示する。
システム情報グラフプロットツール:lkst_plot_sysinfo
lkst_fmt_sysinfoで解析したシステム情報の時系列ログから、gnuplotでグラフとしてプロットしたものをpdf化し表示する。
前のページ  1  2   3  4  次のページ


株式会社日立製作所 平松 雅巳
著者プロフィール
株式会社日立製作所  平松 雅巳
1996年大阪大学に入学。以来今に至るまで、優秀なハッカー達に囲まれて過ごしてきた。大学ではロボット制御を主に研究。2002年にシステム開発研究所に入所以降は、Linuxカーネル及びOSSに関連した研究開発に従事。LKSTのメンテナ。OSS関連のカンファレンスやコミュニティ活動にも参加している。


株式会社日立製作所 杉田 由美子
著者プロフィール
株式会社日立製作所  杉田 由美子
システム開発研究所に勤務。OS、コンパイラなどの研究開発を経て、90年代後半からシステムの高信頼化研究に着手。Linuxカーネルの研究は2001年から担当。現在もLinux/OSSを中心とした研究開発に従事。LKST/DAVLのメンテナ。OSS関連のコミュニティ活動にも参加し、普及にも取り組んでいる。


INDEX
第3回:Linuxカーネルの性能評価機能(LKST)とは
  はじめに
従来LKSTに対する機能拡張
  LKSTでカーネルの性能評価をしてみよう
  取得した情報の解析 〜 その2