何がCPU I / O待機を作成しますが、ディスク操作は作成しませんか?


12

CPU I / Oは50%前後で安定して待機してiostat 1いますが、実行するとディスクアクティビティがほとんどまたはまったく表示されません。

iopsなしで待機する原因は何ですか?

注:ここにはNFSまたはFUSEファイルシステムはありませんが、Xen仮想化を使用しています。

ここに画像の説明を入力してください


どんなディストリビューション?どのバージョン?
ザムース

2
また、これはXenハイパーバイザーマシンですか、それともiowaitsを備えたVMですか?
-ZaMoose

DOESはiotopあなたに何も表示さ?
ジャンヌピッカライネン

回答:


7

NFSはこれを行うことができ、他のネットワークファイルシステム(さらにはFUSEベースのデバイス)が同様の効果をもたらしたとしても驚かないでしょう。


ありがとう、しかしこの場合、NFSとFUSEはありません。これも質問に追加します。
ジェイソンコーエン

6

サーバー上の他のVMがディスクをスラッシングしている可能性はありますか?

仮想化では、ホストノードが過負荷になると奇妙な結果が得られることを知っています。


本当ですが、io%ではなくsteal%である必要がありますか?それともそこを渡ることができますか?
ジェイソンコーエン

3
スチールは、VMが要求するよりも使用可能なCPU容量が少ない場合に発生します。物理ディスクが過負荷になると、プロセスはディスクにあまりヒットしなくても、iowaitで多くの時間をディスクでの順番を待つことになります。
lbft

ええ、これ。で同じ答えを持つ別の質問を参照してくださいserverfault.com/a/209031/57468
mattdm

3

これがインスタンスベースのストレージを使用するAmazon EC2 Xen環境の場合、このイメージを含むホストのヘルスをチェックするようAmazonに依頼してください。

これが、ハイパーバイザーにアクセスできるXen環境の場合、xvdaおよびxvdbデバイスに使用されているディスクイメージ(ファイル、ネットワーク、LVMスライスなど)のないIOwaitを確認します。他のディスクデバイスがシステムのリソースを独占している可能性があるため、一般的には、ハイパーバイザーのI / Oシステムも確認する必要があります。

iostat -txk 5

通常、適切な開始診断ツールです。使用可能なすべてのデバイスのI / Oの5秒の要約が必要なため、VMイメージの内外で有用です。


2

利用可能なファイル記述子/ inodeを確認してください。制限に達すると、スワップしてiowaitを模倣します

編集

私はあなたがxenを使用しているのを見ました、あなたの現在の割り込みを見てください、あなたはblkifが通常より高いことに気付くかもしれません。

少し遅くなりましたが、muninをインストールすると、将来のデバッグに役立ちます。


1
sudo sysctl vm.block_dump=1

次に、dmesgをチェックして、ブロックの読み取り/書き込みまたはiノードのダーティを実行しているものを確認します。

また、limits.confでnofile制限を確認します。プロセスは、許可されているよりも多くのファイルを要求している可能性があります。


1

警告:HDPARMは危険です。常に使用するコマンドについて読んでください!

他の仮想マシンがハードディスクにストレスを与えていない場合、

hdparm -f

基礎となる物理ディスク上。ディスクキャッシュが正確に機能しない可能性があります。これにより、キャッシュに保存されたデータがフラッシュされ、フラッシュ後に再び上昇するかどうかを常に監視できます。はいの場合、キャッシュの問題になります。


0

平均負荷では、ブロックされたネットワーク操作(つまり、外部DBサーバーへの長時間の呼び出し)が増加しました。確かにわかりませんが、ネットワークIOがCPUの待機を引き起こす可能性があると思いますか?誰でも確認できますか?


1
ほとんどの最新のマシンでは、ありません。最近のシステムのすべてではないにしても、ほとんどの場合、このような状況を正確に防ぐためにDMA対応のNICがあります。
-ZaMoose


0

私のマシンでは、NFSは最大のIO-WAIT「プロデューサー」です。ラップトップにSSDがありますが、これは非常に高速なので、「実際のIO」は問題ではありません。それにもかかわらず、マウントされたnfs共有のために、時々多くのIO待機があります。

SCPがIO待機につながることもありますが、それよりもはるかに少ない範囲です。


0

これは何でも構いません。これは、何かがI / O操作の終了を待っていることを意味します。psを介してどのプロセスであるかを把握し、gdbをそれに接続し、バックトレースをチェックして、どのコールがハングしているかを確認できます(通常、これはネットワーク関連のものまたは突然切断されたディスクです)。fd情報については、/ procを確認してください。


0

また、RAIDのディスクが故障し曲がりの激しいSATAケーブルが故障する直前に、同様の問題を経験しました。

CPU使用率はほぼ0%でしたが、4コアシステムの1つ以上のCPUは、top非常に低いIOpsと帯域幅(見つかった)で長時間(複数行CPUディスプレイ経由で)IOwaitで100%の時間を費やしていましたを介してiostat)、しかしバースト性の高い割り込みアクティビティ。対話型コマンドラインの使用は、ディスクアクセス中(つまり、誰かのemacsセッションからの自動保存)に苦労しましたが、IOwaitの期間が経過すると許容されます(多くの再試行後に操作が成功したと思われます)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.