連載
第6回 PDツールでシステムの内部情報に迫れ【後編】:障害発生時の金科玉条(2/3 ページ)
過負荷状態となったときOSの内部ではどのような動作が行われているのだろうか。ここでは、幾つかのツールを使用して、ステータスの解釈やデータ分析を行ってみよう。問題を解決するには、まず問題を知れ、である。
では、次にI/Oそのものをiostatの出力結果(リスト2)から調べてみよう。なお、リスト2の各項目の意味は表2のとおりだ。また、図2はスワップデバイス(sda2)に対する1秒当たりの総書き込み/読み出しリクエスト数の時間変化を示したグラフである。
リスト2の一番上、「03時35分36秒」の時点ではまだswaptestプログラムは1回しか実行していない。データの出力先であるsda3に対しては若干のI/Oがあるものの、スワップデバイスであるsda2はまったく使用されていないことが分かる。
次の「03時35分37秒」はswaptestプログラムを2回目に実行した直後のデータである。ここではsda2に対するI/O、つまりスワップが起こり始めている。
さらに1秒後の「03時35分38秒」では、sda2へのI/Oが一気に増加し、その使用率も100%を超える数値になっている。以後、I/O待ち時間(%iowait)の値は70%を、I/Oに対するCPUの使用率(%util)の値も2本目のプログラムを終了させるまで80%を超え続けた。これらの結果から、明らかにスワップデバイスへのI/Oがパフォーマンスのボトルネックになっていることが分かる。
Copyright © ITmedia, Inc. All Rights Reserved.