防止备份读取进入Linux页面caching

AFAIK在Linux上的所有磁盘读取进入页面caching

有没有办法阻止读取(由备份进程完成)进入页面caching?

想像:

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

我的首选解决scheme

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

  • 如果您重新使用rsync ,则会根据此问题提供标记--drop-cache
  • nocache实用程序

尽量减少应用程序对Linux文件系统缓存的影响

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

  • 使用dd根据这个问题有直接的I / O到低音缓存
  • dd也有选项nocache选项,查看命令info coreutils 'dd invocation'以获取详细信息