Linux 中 I/O 效能出現大規模且不可預測的下降

Linux 中 I/O 效能出現大規模且不可預測的下降

我使用 Debian 測試大約 6 年沒有任何問題(我只是定期更新它),但最近它開始表現出隨機行為,可以概括為“低 I/O 性能,持續到重新啟動”。

問題是,突然所有磁碟讀取和寫入速度減慢至約 5MB/秒,這導致連續讀取和寫入。由於速率如此之低,磁碟不會受到機械挑戰或壓力,但一切都會變慢,直到我重新啟動。

電腦的 I/O 子系統由 1 個 OCZ Vertex 3 SSD 和 2 個 WD Caviar Black HDD 組成。 SSD 保存作業系統的讀取密集部分,HDD 上的分割區保存其餘部分。

為了診斷問題,我嘗試了以下方法但沒有成功:

  • topCPU 和 I/O 使用情況均未顯示任何失控活動。
  • hdparm返回磁碟的正常效能評級(-t不過我只檢查過)。
  • smartctl沒有顯示磁碟中的任何效能問題。長時間的測試表明磁碟就像新的一樣。

系統配備 Z77 晶片組、16GB RAM 和 Intel i7 3770K CPU,統計數據顯示 RAM、I/O 或 CPU 沒有飽和的跡象,但我沒有調試此類問題的經驗(尤其是在核心空間中)。任何幫助將不勝感激。

更新1:

  • 作為預防措施,我在每個分區上運行(強制)fsck。所有FS都是乾淨的。
  • 順便說一句,我發現了一個月前發布的 BIOS 升級並應用了它。
  • 沒有分區填充超過 50%。

更新2:

問題兩天了還沒出現。或者fsckBIOS 更新清除了系統中的一些堵塞物。我仍在關注這個問題,並將透過事後分析的答案來結束這個問題。

更新3:

問題又出現了,我做了更多的挖掘。請看答案。

答案1

我設法再次重現該問題,這是大磁碟快取的結果。我的磁碟快取可以增長超過 8GB,但似乎某些應用程式不喜歡它並且 I/O 會受到影響。

以 root 身分刪除磁碟快取echo 3 > /proc/sys/vm/drop_caches可以解決該問題。我目前不知道為什麼大磁碟快取會導致 I/O 效能下降。

最後更新:經過更多調查後,我發現快取中的檔案數量觸發了問題。當嘗試將許多小檔案提交回磁碟時,它會破壞磁碟。由於我使用該系統已經有十年了,所以我決定重新安裝 64 位元 Debian。現在工作進展順利。這可能是十年升級的副作用,發現了 32 位元作業系統的限制。

答案2

是否有任何可疑訊息dmesg

您可以嘗試使用更多工具來深入了解系統的瓶頸:

  • 數據統計
  • 延遲頂部
  • 系統教授

相關內容