最近一直发现系统的buff占用非常大,本来物理内存就很小,每次都是手动发现buff占用高了手动清除,但是太麻烦,还是放到定时任务里自动处理吧.

1.创建脚本文件

touch Cleanbuff.sh

使用vim编辑脚本内容

vim   Cleanbuff.sh

#!/bin/bash
#buff/cache清除脚本
#设置每两小时清除一次
echo "开始清除buff/cache"
sync;sync;sync #写入硬盘,防止数据丢失
sleep 10 #延迟10秒
echo 3 > /proc/sys/vm/drop_caches

2.创建定时任务

crontab -e  //弹出定时任务配置文件

添加一下内容,可以按照自己的需要修改

0 */2 * * * ./Cleanbuff.sh

设置crond启动以及开机自启动

systemctl start crond.service //启动crond服务

systemctl enable crond.service //设置开机启动

查看任务执行情况

cat /var/log/cron | grep Cleanbuff