![使 vfs linux 缓存更倾向于保留 inode 而不是实际文件内容](https://linux22.com/image/569556/%E4%BD%BF%20vfs%20linux%20%E7%BC%93%E5%AD%98%E6%9B%B4%E5%80%BE%E5%90%91%E4%BA%8E%E4%BF%9D%E7%95%99%20inode%20%E8%80%8C%E4%B8%8D%E6%98%AF%E5%AE%9E%E9%99%85%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9.png)
我正在使用 centos 5 (2.6.18-194.el5)。
为了使我的 rsync 备份高效,我需要能够非常快速地列出文件。
我实际上不需要缓存文件内容,因为文件访问响应时间并不那么重要。
我有上亿个文件,它们不断地被添加和删除,我感觉我的 inode 缓存被文件内容缓存取代了,而这并不是我想要的。
经过一番查找,我认为 /proc/sys/vm/vfs_cache_pressure 也许会有所帮助,但我不确定如何使用它以及如何检查它是否真的有效。
亲爱的 vfs 大师,提前感谢你的帮助
答案1
在一个类似的情况下,我有一个简单的 cronjob 每分钟运行一次,执行类似
find /some/mount/point 2&>1 >/dev/null
这样,5000 万个文件的目录列表就会被强制保留在缓存中。