如何从Linux上的系统缓存中逐出文件?

运行性能测试时,文件系统缓存命中或未命中会显着影响测试结果.因此,通常在运行此类测试之前,使用的文件将从系统缓存中逐出.如何在Linux上做到这一点?

澄清:如果可能,解决方案不应要求root权限.

最佳答案
作为超级用户,您可以执行以下操作:

要释放pagecache:

> echo 1>的/ proc / sys目录/ VM / drop_caches

要释放dentries和inode:

> echo 2>的/ proc / sys目录/ VM / drop_caches

要释放pagecache,dentries和inode:

> echo 3>的/ proc / sys目录/ VM / drop_caches

此操作不会“丢失”任何数据(缓存在数据被删除之前写入磁盘),但是,为了确保清除所有缓存,您应首先进行同步.例如.如果你跑,应该清除所有缓存

sync; echo 3 > /proc/sys/vm/drop_caches

正如我所说,只有超级用户(root)可以这样做.

相关文章

文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限...
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Wi...
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Lin...
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,...
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 Open...