Linux 释放缓存区内存的方法

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 释放缓存区内存的方法相关的知识,希望对你有一定的参考价值。

释放缓存区内存的方法

buffer : 从内存中准备要写入磁盘的数据
cache: 从磁盘中写入内存的数据,并被相应的服务快速的读取。

1)清理pagecache(页面缓存)
echo 1 > /proc/sys/vm/drop_caches
或者
sysctl -w vm.drop_caches=1

2)清理dentries(目录缓存)和inodes
echo 2 > /proc/sys/vm/drop_caches
或者
sysctl -w vm.drop_caches=2

3)清理pagecache、dentries和inodes
echo 3 > /proc/sys/vm/drop_caches
或者
sysctl -w vm.drop_caches=3


在清理缓存前,最好执行sync 命令,保持数据一致性,防止数据丢失。

下面两行命令等同于第三行命令

sync; echo 3 > /proc/sys/vm/drop_caches
sync; echo 1 > /proc/sys/vm/drop_caches
或者
sync && echo 3 >/proc/sys/vm/drop_caches && sleep 2 && echo 1 >/proc/sys/vm/drop_caches

以上是关于Linux 释放缓存区内存的方法的主要内容,如果未能解决你的问题,请参考以下文章

liunx的服务器怎样安全清理cache

C# Interop - 释放在非托管代码中分配的内存

刷新缓存区方式和刷新内存到磁盘方式总结。

(转)linux内存源码分析 - 内存回收(整体流程)

缓冲区Buffer和缓存区Cache的区别

Linux释放内存小脚本