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

Linux就该这么学

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

要从根本上解决服务器内存占用过高的问题,参考这篇文章(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技术 对观点赞同或支持。如需转载,请注明文章来源。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注