Linux系统的buff/cache缓存清理脚本
cacheClean.sh
#!/bin/bash # 日期: 20191218 # 作者: 黄慧丰/何鹏举 # 说明: fastdfs所在的linux系统的buffer cache过大, 且并没有有效的自动回收, 因此手动编写脚本定时执行 # 参考: https://blog.csdn.net/c123m/article/details/78060149 log=cacheClean.log echo "***开始***" >> $log date '+%Y-%m-%d %H:%M:%S' >> $log echo "清理前:" >> $log free -h >> $log # 写入硬盘,防止数据丢失 sync;sync;sync # 延迟10秒 sleep 10 # *****清理缓存***** # echo 1 > /proc/sys/vm/drop_caches:表示清除pagecache。 # echo 2 > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。 # echo 3 > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。 echo 3 > /proc/sys/vm/drop_caches date '+%Y-%m-%d %H:%M:%S' >> $log echo "清理后:" >> $log free -h >> $log echo "***结束***" >> $log echo "" >> $log
cacheClean.log 示例
***开始*** 2019-12-18 13:52:38 清理前: total used free shared buff/cache available Mem: 15G 14G 1.2G 3.8M 197M 1.1G Swap: 7.9G 3.1G 4.8G 2019-12-18 13:52:48 清理后: total used free shared buff/cache available Mem: 15G 14G 1.2G 3.8M 153M 1.1G Swap: 7.9G 3.1G 4.8G ***结束*** ***开始*** 2019-12-18 13:52:49 清理前: total used free shared buff/cache available Mem: 15G 14G 1.2G 3.8M 153M 1.1G Swap: 7.9G 3.1G 4.8G 2019-12-18 13:52:59 清理后: total used free shared buff/cache available Mem: 15G 14G 1.2G 3.8M 152M 1.1G Swap: 7.9G 3.1G 4.8G ***结束***