意:此方法不能用于解决统物理内存占用过高,导致部分服务被强制关闭的问题
要从根本上解决服务器内存占用过高的问题,参考这篇文章(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
注意:只要任务创建了,即使退出用户登录,任务还是会执行
最后:此方法清理缓存只是紧急临时用的,不建议在生产环境中使用此方法