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
注意:只要任务创建了,即使退出用户登录,任务还是会执行
最后:此方法清理缓存只是紧急临时用的,不建议在生产环境中使用此方法
本文由 CentOS中文站 - 专注Linux技术 作者:centos 发表,其版权均为 CentOS中文站 - 专注Linux技术 所有,文章内容系作者个人观点,不代表 CentOS中文站 - 专注Linux技术 对观点赞同或支持。如需转载,请注明文章来源。