> CentOS > CentOS入门 >

CentOS设置定时清除buff/cache的脚本

注意:此方法不能用于解决统物理内存占用过高,导致部分服务被强制关闭的问题

要从根本上解决服务器内存占用过高的问题,参考这篇文章(https://www.idaobin.com/archives/345

用root用户创建定时任务

切换到root用户

su - root

创建脚本文件

touch cleanCache.sh
vim cleanCache.sh

添加如下内容:

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

创建定时任务

crontab -e  //弹出配置文件

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

0 */2 * * * ./cleanCache.sh

保证crond启动以及开机自启

systemctl start crond.service
systemctl enable crond.service

查看buff/cache情况

free -m

查看定时任务是否被执行

cat /var/log/cron | grep cleanCache

注意:只要任务创建了,即使退出用户登录,任务还是会执行

最后:此方法清理缓存只是紧急临时用的,不建议在生产环境中使用此方法




(责任编辑:IT)