連載
» 2007年03月29日 13時45分 公開

第6回 PDツールでシステムの内部情報に迫れ【後編】障害発生時の金科玉条(1/3 ページ)

過負荷状態となったときOSの内部ではどのような動作が行われているのだろうか。ここでは、幾つかのツールを使用して、ステータスの解釈やデータ分析を行ってみよう。問題を解決するには、まず問題を知れ、である。

[秋田英行(日本アイ・ビー・エム),ITmedia]

 前回、CPUおよびメモリに負荷をかけるツールを用い、OSの過負荷状態を作りだした。そして、システムの構成情報および、その状態下での稼働情報を取得するまでを解説した。「状況把握」「情報収集」「データ分析」「解決を図る」というPDの手順のうち、情報収集までが終わった段階である。

 今回は、こうしたデータを用いて、ステータスの解釈やデータ分析方法に足を踏み入れていこう。

ステップ3 データの解析

 前回取得した3つのデータのうち、まずはvmstatの出力を見てみよう。リスト1はvmstat.logの一部である。

リスト1 リスト1 vmstatの出力例

 また、リスト中の空きメモリと割り当て済みスワップメモリ量、CPU使用状況の時間変化をグラフ化したものが図1だ。リスト1中における各項目の意味は表1やmanページを参照してほしい。

図1 図1 システム状況の変化
表1 表1 vmstatの出力項目
※CD/DVDドライブでは1ブロック=2Kバイト、そのほかのデバイスでは1ブロック=1Kバイト

 swaptestプログラムが消費するメモリ量は先に述べたとおり次のようになる。

1Mバイト×配列数10×プロセス数(引数の値+1)13=130Mバイト


 一方、swaptestプログラムを実行することでfree領域は約135Mバイト減少している。これはほぼ計算どおりである*

 さらに再度swaptestプログラムを実行すると、free領域は約90Mバイト減少し、同時に約35Mバイトのスワップアウト*が発生する。こちらもおおむね計算どおりである。free領域が約3Mバイトほど残っているのは、カーネルは自身の実行用に最低限のメモリを確保しておくポリシーを持っているからだ。

 さて、2回目のswaptestプログラム実行後、vmstatの出力には次のような変化が見られる。まず、メモリを確保するためにスワップが頻繁に発生し、それに伴ってブロックI/Oも多発していることが分かる。

 また、b、in、cs、waの増加にも注目してほしい。CPUがI/O待ち状態になっている時間を表すwaの値が増加しているにもかかわらず、CPUが実際に働いている時間を表すusとsyは合わせて40%程度しかない。つまり、CPUの実行時間の60%がI/O待ちに使われており、効率的にCPUが使用されていないことになる。これを裏付けるのがin(割り込み回数)とcs(コンテキストスイッチ数)の増加である。これらはプロセスに割り当てられた実行時間を使いきり、ほかのプロセスに実行を渡すための割り込みが入った場合にカウントアップされる。つまり、I/O待ちのためにプロセスに割り当てられた実行時間を有効に使いきれない、という現象が発生しているのだ。

 また、bの値が増加しているが、この値は「I/O待ちなどでsleep状態になっており、割り込みを受け付けないプロセス数」を示している。このような状態を「ブロック状態」と呼ぶ。vmstatの結果だけではどのプロセスがブロック状態となっているのかは分からないが、プロセス実行の際にI/Oが必要となり、I/O待ちのプロセスが多数発生して遅延が起こっている、ということになる。

 今回実行しているプログラムはメモリアロケーションが主な処理であり、ファイルやディスクなどへの要求は行っていない。しかし、スワップが発生すれば当然スワップデバイスへのI/Oが発生し、このI/Oが円滑に行われなければ空きメモリ領域を作るためのスワップアウトや、再実行で必要なスワップインなどに影響が出てしまうため、ほかのプロセスにも影響が及んでしまう。

 現に、このケースではスワップやI/Oに関連する項目の値が2回目のswaptestプログラム実行後大幅に増加し、このタイミングでコンソール操作やネットワークアクセスに影響が出ている。つまり、in、cs、bの増加はスワップのためのI/Oが大きな要因ではないかと推測できる。

このページもしくは表内で出てきた専門用語

ほぼ計算どおりである

誤差はページヘッダーやスタックなど。

スワップアウト

物理メモリ内に記録した情報をスワップデバイスに退避すること。逆にスワップデバイスに退避していた情報を物理メモりに戻すことをスワップインと呼ぶ。


       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ