Linux定时清理系统缓存

长时间不清理系统缓存,导致缓存将系统内存占用过大。

crontab -l :查看定时任务列表。

crontab -e : 编辑定时任务:

56 23 * * * /usr/local/freemem/free.sh    每晚的23:56执行这个脚本。

 

脚本:

当剩余的内存小与1000m的时候执行命令,将日志打入到指定的文件里

Linux定时清理系统缓存_第1张图片

#! /bin/sh
used=`free -m | awk 'NR==2' | awk '{print $3}'`
free=`free -m | awk 'NR==2' | awk '{print $4}'`
echo "===========================" >> /usr/local/freemem/mem.log
date >> /usr/local/freemem/mem.log
echo "Memory usage before | [Use:${used}MB][Free:${free}MB]" >> /usr/local/freemem/mem.log
if [ $free -le 1000 ] ; then
                sync && echo 1 > /proc/sys/vm/drop_caches
                sync && echo 2 > /proc/sys/vm/drop_caches
                sync && echo 3 > /proc/sys/vm/drop_caches
                used_ok=`free -m | awk 'NR==2' | awk '{print $3}'`
                free_ok=`free -m | awk 'NR==2' | awk '{print $4}'`
                echo "Memory usage after | [Use:${used_ok}MB][Free:${free_ok}MB]" >> /usr/local/freemem/mem.log
                echo "OK" >> /usr/local/freemem/mem.log
else
                echo "Not required" >> /usr/local/freemem/mem.log
fi
exit 1

 

service crond start    //启动服务
service crond stop     //关闭服务
service crond restart  //重启服务
service crond reload   //重新载入配置
service crond status   //查看服务状态 

 

 

你可能感兴趣的:(Linux定时清理系统缓存)