2014-02-05 45 views
4

AFAIK linux上的所有磁盤讀取都進入頁面緩存。防止備份讀取進入linux頁面緩存

有沒有辦法阻止讀取(由備份進程完成)進入頁面緩存?

試想:

  • 服務器運行正常,因爲大多數操作不需要觸摸盤,因爲足夠的內存可用。
  • 現在備份過程開始並進行大量閱讀。讀取的字節進入內存(頁面緩存),雖然沒有人想在接下來的幾個小時內再次讀取相同的字節。
  • 備份數據填滿了內存,緩存中更重要的頁面被丟棄。
  • 由於更多操作需要接觸磁盤,服務器性能變差,因爲相關頁面已從緩存中刪除。

我首選的方案:即通過讀取備份過程完成並不需要存儲在頁面緩存

  • 泰爾Linux操作系統。

回答

2

減少應用程序對Linux文件系統緩存的影響

用例:備份進程不應該干擾緩存的當前狀態。

  • 使用DD有直接I/O根據this question
  • DD到bybass緩存也有選項nocache選項檢查命令info coreutils 'dd invocation'的細節