何亦冷

导航

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
***结束***

posted on 2019-12-18 14:25  何亦冷  阅读(1337)  评论(0编辑  收藏  举报