#!/bin/bash
# 日期:
# 作者: 黄慧丰/何鹏举
# 说明: 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
# *****清理缓存*****
# echo > /proc/sys/vm/drop_caches:表示清除pagecache。
# echo > /proc/sys/vm/drop_caches:表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
# echo > /proc/sys/vm/drop_caches:表示清除pagecache和slab分配器中的缓存对象。
echo > /proc/sys/vm/drop_caches
date '+%Y-%m-%d %H:%M:%S' >> $log
echo "清理后:" >> $log
free -h >> $log
echo "***结束***" >> $log
echo "" >> $log
***开始***
-- ::
清理前:
total used free shared buff/cache available
Mem: 15G 14G .2G 3.8M 197M .1G
Swap: .9G .1G .8G
-- ::
清理后:
total used free shared buff/cache available
Mem: 15G 14G .2G 3.8M 153M .1G
Swap: .9G .1G .8G
***结束***
***开始***
-- ::
清理前:
total used free shared buff/cache available
Mem: 15G 14G .2G 3.8M 153M .1G
Swap: .9G .1G .8G
-- ::
清理后:
total used free shared buff/cache available
Mem: 15G 14G .2G 3.8M 152M .1G
Swap: .9G .1G .8G
***结束***