Linux手动释放Cache

1.直接改变内核运行参数

#释放pagecache

echo 1 >/proc/sys/vm/drop_caches

#释放dentriesinodes

echo 2 >/proc/sys/vm/drop_caches

#释放pagecachedentriesinodes

echo 3 >/proc/sys/vm/drop_caches

2.使用sysctl重置内核运行参数

sysctl -w vm.drop_caches=3

注意:这两个方式都是临时生效,永久生效需添加sysctl.conf文件中,一般写成脚本手动清理,建议不要清理。

修改/etc/sysctl.conf 添加如下选项后就不会内存持续增加

vm.dirty_ratio = 1

vm.dirty_background_ratio=1

vm.dirty_writeback_centisecs=2

vm.dirty_expire_centisecs=3

vm.drop_caches=3

vm.swappiness =100

vm.vfs_cache_pressure=163

vm.overcommit_memory=2

vm.lowmem_reserve_ratio=32 32 8

kern.maxvnodes=3

上面的设置比较粗暴,使cache的作用基本无法发挥。需要根据机器的状况进行适当的调节寻找最佳的折衷。