AFAIK上的所有磁盘读取都进入页面缓存.
有没有办法防止读取(由备份过程完成)进入页面缓存?
想像:
>服务器运行正常,因为大多数操作都不需要触摸磁盘,因为有足够的内存可用.
>现在备份过程开始并进行大量阅读.读取的字节进入内存(页面缓存),但没有人想在接下来的几个小时内再次读取相同的字节.
>备份数据填满内存,缓存中更重要的页面被删除.
>由于更多操作需要触摸磁盘,服务器性能变得更糟,因为相关页面已从缓存中删除.
我的首选解决方案
最佳答案
>如果你使用rsync,根据this question有标志–drop-cache
> nocache实用程序
> nocache实用程序
minimize the effect an application has on the Linux file system cache
Use case: backup processes that should not interfere with the present state of the cache.
>根据this question,使用dd有直接I / O到bybass缓存
> dd还有选项nocache选项检查命令info coreutils’dd invocation’以获取详细信息