Linux系统buff/cache 中缓存数据占用内存过高,定时清理buff/cache ,释放系统内存
root权限创建脚本文件:
touch cleanCache.sh && vim cleanCache.sh
#!/bin/bash echo "开始清理缓存" sync;sync;sync #写入硬盘,防止数据丢失 sleep 10 #延迟10秒 echo 1 > /proc/sys/vm/drop_caches echo "清理结束"
#脚本可以根据自己情况修改:
#默认是0,不清除缓冲区缓存和页面缓存
#可用值 0 到 3
echo 1 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/vm/drop_caches
#值越高系统上的程序会跑起来越慢
设置定时任务,每隔2小时运行一次
crontab -e 0 */2 * * * sh /root/cleanCache.sh //查看是否设置成功 crontab -l
保证crond启动以及开机自启
systemctl start crond.service systemctl enable crond.service
查看定时任务是否被执行
cat /var/log/cron | grep cleanCache