我有一个备份过程,从磁盘读取大量的数据,因此将所有内存用于磁盘高速caching,在此过程中交换应用程序和其他caching的数据。 在备份完成后,将备份的数据保存在磁盘caching中没有任何好处,所以我想限制内核可以为该进程caching的数据量。 可能吗?
谢谢,
修复备份过程,以便使用O_DIRECT打开文件,或者在完成一个数据块时定期调用posix_fadvise(…,POSIX_FADV_DONTNEED)。
或者抱怨谁负责备份程序来解决这个问题。
或者,您可以在运行备份过程时创build一个上述库和LD_PRELOAD库。