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

猜你喜欢

转载自blog.51cto.com/snowlai/2135438
今日推荐