Linuxにおける予測不能な大規模なI / Oパフォーマンスの低下


11

私は6年ほど問題なくDebianテストを使用しています(定期的に更新しています)が、最近「ランダムな動作が見られ始め、 "再起動まで持続する低いI / Oパフォーマンス"と要約できます。

問題は、突然すべてのディスクの読み取りと書き込みが約5MB /秒に遅くなり、連続的な読み取りと書き込みが発生することです。レートが非常に低いため、ディスクは機械的にチャレンジされたりストレスを受けたりしませんが、再起動するまですべてが遅くなります。

コンピューターのI / Oサブシステムは、1つのOCZ Vertex 3 SSDと2つのWD Caviar Black HDDで構成されています。SSDはOSの読み取りが多い部分を保持し、HDD上のパーティションは残りを保持します。

問題を診断するために、私は次のことを試みましたが成功しませんでした:

  • top CPUでもI / Oの使用でも暴走は見られません。
  • hdparmディスクの通常のパフォーマンス評価を返します(-tただし、チェックしただけです)。
  • smartctlディスクのパフォーマンスの問題は表示されません。長いテストの結果、ディスクは新品同様であることがわかりました。

システムにはZ77チップセット、16GBのRAM、Intel i7 3770K CPUがあり、統計にはRAM、I / O、またはCPUの飽和の兆候はありませんが、このような問題(特にカーネル空間)をデバッグする経験はありません。任意の助けをいただければ幸いです。

更新1:

  • 予防策として、すべてのパーティションで(強制的に)fsckを実行しました。すべてのFSはクリーンです。
  • ちなみに、1か月前にリリースされて適用されたBIOSアップグレードを見つけました。
  • 50%を超えて埋められるパーティションはありません。

アップデート2:

問題は2日間浮上していません。どちらかfsckまたはBIOSのアップデートは、システム内のいくつかの目詰まりを掃除しました。私はまだ問題を監視しており、死後の回答で質問を閉じます。

更新3:

問題が表面化し、さらに掘り下げました。答えを見てください。


1
断片化の問題である可能性がatopあります(常にシークしているときのように)ディスクのビジー状態がわかります。
ステファンChazelas

1
いくつかの癖を排除するために、NCQを無効にし、I / Oスケジューラをに設定しnoopます。
frostschutz 2013年

1
「再起動まで持続する低いI / Oパフォーマンス」は、バスを長時間頻繁に占有する壊れた/バグのあるデバイスであり、ハードウェアの交換不足を診断するのが非常に困難です。
msw 2013年

1
次に、私のlsitで次にチェックすることは、ログでエラーを確認し、バッファ/キャッシュに割り当てられたメモリが十分にあることを確認することです(の出力を参照free
symcbean

1
iowaitsarデータを収集している場合は、etc を表示できる場合があります。sysstatまだ実行されていない場合は有効にします。sar -Aほとんどのプラットフォームで10分のサンプル間隔があることを確認できます。
Bratchley 2013年

回答:


12

なんとか問題を再現できましたが、それは大きなディスクキャッシュの結果でした。私のディスクキャッシュは8GBを超える可能性があり、一部のアプリケーションはそれを気に入らず、I / Oが低下しているようです。

echo 3 > /proc/sys/vm/drop_cachesルートとしてディスクキャッシュを削除すると、問題が解決します。現在のところ、大きなディスクキャッシュが原因でこのI / Oの低下が引き起こされる理由はわかりません。

最終更新:さらに調査したところ、キャッシュ内のファイルの数が問題の原因であることがわかりました。多くの小さなファイルをディスクにコミットしようとしたときにディスクを破壊していました。私はこのシステムを10年間使用していたので、思い切って64ビットDebianで再インストールしました。今ではスムーズに動作しています。これは、32ビットオペレーティングシステムの制限が見つかる10年間のアップグレードの副作用でした。


2

に不審なメッセージはありdmesgますか?

システムのボトルネックに関する洞察を得るために使用できるいくつかのツール:

  • dstat
  • レイテンシトップ
  • sysprof

ログに疑わしいものはありません。TBHこの問題に関連するログエントリはありません。それでもツールを試します。ハイエンドPCで何も実行せずにアイドル状態になっているときにボトルネックが発生することはありません。キャッシュまたはI / Oサブシステムに関連する何かが間違っていると思います。
bayindirh 2013年

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