Linux で予測不可能な I/O パフォーマンスが大幅に低下

Linux で予測不可能な I/O パフォーマンスが大幅に低下

私は Debian Testing を約 6 年間問題なく使用していますが (定期的に更新しているだけです)、最近、「再起動するまで持続する低い I/O パフォーマンス」と要約できるランダムな動作が見られるようになりました。

問題は、突然、すべてのディスクの読み取りと書き込みが約 5MB/秒に低下し、読み取りと書き込みが連続して行われるようになることです。速度が非常に低いため、ディスクに機械的な問題やストレスは発生しませんが、再起動するまですべてが遅くなります。

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

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

  • topCPU や I/O の使用状況においても暴走アクティビティは見られません。
  • hdparmディスクの通常のパフォーマンス評価を返します (-tただし、私が確認しただけです)。
  • smartctlディスクのパフォーマンスに問題は見られません。長時間のテストで、ディスクは新品同様であることが確認されました。

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

アップデート1:

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

アップデート2:

問題は 2 日間表面化していません。BIOSfsckアップデートによってシステム内の詰まりが解消されたかのどちらかです。私はまだ問題を監視しており、事後的な回答で質問を終了します。

アップデート3:

問題が再び浮上したので、さらに調べてみました。回答をご覧ください。

答え1

問題を再度再現できましたが、それは大きなディスク キャッシュが原因でした。私のディスク キャッシュは 8GB 以上に大きくなる可能性があり、一部のアプリケーションではそれが好ましくなく、I/O に問題が発生するようです。

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

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

答え2

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

システムのボトルネックに関する洞察を得るために試すことができるその他のツールは次のとおりです。

  • dstat
  • レイテンシートップ
  • システムプロフ

関連情報