web-dev-qa-db-ja.com

iostat-%utilは%idleと%iowaitにどのように影響しますか

Iostatを見ると、システムがioの要求を発行する必要があるが、%utilがペグされているためにまだ発行できない場合、その待機は%idleまたは%iowaitとしてカウントされますか?

4
modsiw

3つの概念の意味:

%util:前の回答はアイドルの意味を明確に説明しています。

%idle:システムはアイドル状態です。つまり、実行中のプロセスはありません。

%iowait:特定のCPUの場合、I/O待機時間は、そのCPUがアイドル状態(つまり、タスクを実行しなかった)であり、にスケジュールされたタスクによって要求された未処理のディスクI/O操作が少なくとも1つあった時間です。そのCPU(そのI/O要求を生成したとき)。

高い%utilは、IOがビジーであり、IOシステムのレートがCPUの処理レートよりもはるかに低いことを意味します。したがって、次のようになります。

1)システムでCPUを集中的に使用するタスクが実行されている場合、CPUは、IOが待機し、CPU使用率が高く、%アイドルが低い間に他のタスクを実行します。同時に時間%iowaitが低い(iowaitはIO IDLE時の送信)の割合を示します)

2)システムに実行するタスクがない場合、IO待機中、CPUはアイドル状態です。今回は、CPU使用率が低く、%idleが高く、%iowaitが高くなっています。

2
Jams.Liu

%iowaitは、可用性を待つために費やされた時間です。

1
Avery Payne

From here %utilの理解に役立ちます:

同じページの次のテキストが参照している例が1つか2つあるので、上のサイトを確認してください。

%util:この数値は、デバイスがリクエストの処理に費やした時間の割合を示します。 %utilは、(r/s + w/s)* svctim/1000ms * 100 => 1025 * 0.96/1000 * 100 => 98.5%として計算できます。これは、1秒間隔で1025個の要求がディスクに送信されたことを意味します。 、それぞれがディスクの処理に0.96ミリ秒かかり、1秒(または1000ミリ秒)の期間で984ミリ秒のディスク使用時間が発生しました。これは、ディスクが98%以上使用されていることを意味します

この例では、1秒あたりに発行される読み取りと書き込みの総数は611 + 414 => 1025です。各要求の処理には0.96ミリ秒かかります。したがって、1025リクエストの処理には1025 x 0.96 => 984ミリ秒かかります。したがって、これらの要求がデバイスに送信された1秒のうち、984ミリ秒が要求の処理に費やされました。これは、デバイスの使用率が984/1000 * 100 => 〜98.4%であることを意味します。上記のiostat出力でわかるように、%utilは〜98.5%を示しています

これにより、表示している内容をよりよく理解できるようになり、必要に応じて適切なアクションを実行できるようになります。

-ブレンダン

0
bmurtagh