Linux 内存缓存占用过大,Centos7设置定时清除buff/cache

Linux系统buff/cache 中缓存数据占用内存过高,定时清理buff/cache ,释放系统内存

  1. 先看看当前内存使用的情况
free -m

image.png

  1. 创建存放脚本的文件夹
mkdir script
  1. 在文件夹下编写清理脚本
vi script/clear_buff_cache.sh
  1. 脚本具体内容
echo "开始清除缓存"

echo "写入硬盘,防止数据丢失"
sync;sync;sync

echo "延迟10秒"
sleep 10

echo "清理缓存"
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
echo "清理完毕"
  1. 创建定时任务
crontab -e  //弹出配置文件

添加如下内容:(按需修改)

# clear buff/cache 凌晨三点执行
0 3 * * * /root/script/clear_buff_cache.sh
  1. 保证crond启动以及开机自启
systemctl start crond.service
systemctl enable crond.service
  1. 将脚本改为可执行文件查看效果并执行
chmod +x /root/script/clear_buff_cache.sh
/root/script/clear_buff_cache.sh 

image.png

  1. 效果

image.png
可以看到清理了100多M

上一篇 下一篇