防止备份读取进入linux页面缓存

时间:2014-02-05 12:17:04

标签: linux caching memory-management backup

AFAIK在linux上的所有磁盘读取进入页面缓存。

有没有办法防止读取(由备份过程完成)进入页面缓存?

想象一下:

  • 服务器运行正常,因为大多数操作都不需要触摸磁盘,因为有足够的内存可用。
  • 现在备份过程开始并进行大量阅读。读取的字节进入内存(页面缓存),但没有人想在接下来的几个小时内再次读取相同的字节。
  • 备份数据会填满内存,缓存中更重要的页面会被删除。
  • 由于更多操作需要触摸磁盘,因此服务器性能变得更糟,因为相关页面已从缓存中删除。

我的首选解决方案:

  • 告诉linux,备份过程完成的读取不需要存储在页面缓存中。

1 个答案:

答案 0 :(得分:4)

  

最小化应用程序对Linux文件系统缓存的影响

     

用例:不应干扰缓存当前状态的备份进程。

  • 使用 dd 根据this question
  • 对旁路缓存进行直接I / O操作
  • dd 也有选项nocache选项查看命令info coreutils 'dd invocation'了解详情