备份过程刷新磁盘缓存

lio*_*ori 7 linux hard-drive cache

我有一个备份过程,它从磁盘读取大量数据,因此将所有内存用于磁盘缓存,在此过程中交换应用程序和其他缓存数据。备份完成后将备份数据保留在磁盘缓存中没有任何好处,因此我想限制内核可以为该进程缓存的数据量。是否可以?

谢谢,

jan*_*neb 3

修复备份过程,以便它使用 O_DIRECT 打开文件,或者在完成数据块时定期调用 posix_fadvise(..., POSIX_FADV_DONTNEED) 。

或者向负责备份程序的人员投诉,要求其按照上述内容进行修复。

或者,您可以创建一个执行上述操作的过滤器库,并在运行备份过程时 LD_PRELOAD 该库。