如何在 Linux 中清除内存缓存

Omi*_*uin 17 rhel cache memory-management

最佳

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

我使用了这个命令:

sync; echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

但它没有用。

小智 26

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

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

drop_caches

写入此内容将导致内核从内存中删除干净的缓存、dentry 和 inode,从而导致该内存变为空闲。

释放页面缓存:

echo 1 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

释放 dentry 和 inode:

echo 2 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

要释放页面缓存、dentries 和 inode:

echo 3 > /proc/sys/vm/drop_caches
Run Code Online (Sandbox Code Playgroud)

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


小智 14

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

  • `sudo sh -c "echo 1 > /proc/sys/vm/drop_caches"` (2认同)