/proc/sys/vm/drop_caches 清理缓存
Posted hellokitty2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了/proc/sys/vm/drop_caches 清理缓存相关的知识,希望对你有一定的参考价值。
1. 使用方法
/proc/sys/vm/drop_caches默认是0
# echo 1 > /proc/sys/vm/drop_caches; free pagecache, use
# echo 2 > /proc/sys/vm/drop_caches; free dentries and inodes
# echo 3 > /proc/sys/vm/drop_caches; free pagecache, dentries and inodes
注意:使用之前需要先sync,将缓存刷到磁盘中。
2. 实验
单位:MB # free -m total used free shared buff/cache available Mem: 1825 381 1363 8 79 1413 Swap: 0 0 0 # cp /etc/* /mytest/ # free -m total used free shared buff/cache available Mem: 1825 382 1341 8 101 1412 Swap: 0 0 0 过一段时间: # free -m total used free shared buff/cache available Mem: 1825 382 1341 8 101 1412 Swap: 0 # cat /proc/sys/vm/drop_caches 0 # sync # echo 3 > /proc/sys/vm/drop_caches # free -m total used free shared buff/cache available Mem: 1825 382 1405 8 37 1413 Swap:
3. 写个脚本做这个事情
# cat cleanup_cache.sh #!/bin/sh # drop_caches for every 5 mins drop_caches() { echo "Drop caches." sync echo 3 > /proc/sys/vm/drop_caches & return 0 } while true; do sleep 300 drop_caches done exit 0
4. 结论
Linux内核默认保持drop_cache的值是0,不建议经常修改它。
以上是关于/proc/sys/vm/drop_caches 清理缓存的主要内容,如果未能解决你的问题,请参考以下文章
释放ceche内存echo 3 > /proc/sys/vm/drop_caches释放内存完后需要把drop_caches的值修改回原来默认值吗