如何清除Linux中的内存缓存

如何清除Linux中的内存缓存

顶部

是否有任何命令可以通过使用我来清理 RHEL 中的缓存?

我使用了这个命令:

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

但这没有用。

答案1

根据你想要做什么,你可以使用 1,2 或 3

https://www.kernel.org/doc/Documentation/sysctl/vm.txt

删除缓存

写入此内容将导致内核从内存中删除干净的缓存、目录项和索引节点,从而使该内存变得空闲。

释放页面缓存:

echo 1 > /proc/sys/vm/drop_caches

释放 dentry 和 inode:

echo 2 > /proc/sys/vm/drop_caches

释放页面缓存、目录项和索引节点:

echo 3 > /proc/sys/vm/drop_caches

由于这是非破坏性操作并且脏对象不可释放,因此用户应首先运行“同步”。

如果你想用 sudo 运行它,(谢谢埃夫赫兹的评论):

sudo sh -c "echo 1 > /proc/sys/vm/drop_caches" # or 2, 3 per your needs.

答案2

尝试 sync; echo 1 > /proc/sys/vm/drop_caches

相关内容