创建文件: /home/gkbusy/bin/cacheclear.sh
#!/bin/sh
sudo sh -c "sync; echo 3 > /proc/sys/vm/drop_caches"
echo "clear cache at "`date`" executed"
修改权限: sudo chmod 777 /home/gkbusy/bin/cacheclear.sh
配置cron定时任务:sudo crontab -e
增加配置内容如下:
0/30 * * * * /home/gkbusy/bin/cacheclear.sh >> /home/gkbusy/cacheclear.log
修改rsyslog,让cron的log能够查看:
sudo vim /etc/rsyslog.d/50-default.conf
对文件中的"#cron"这一行的注释做一个去除,如下——
原始内容为:
#cron.* /var/log/cron.log
修改后的内容为:
cron.* /var/log/cron.log
重启rsyslog和cron两个服务:
sudo service rsyslog restart
sudo service cron restart
最终达到的效果是,对下面的内存展示的数值来看,每30分钟会释放一次cached指标中的内存:
gkbusy@gkbusy-laptop:~/bin$ free -m
total used free shared buffers cached
Mem: 7889 3287 4601 0 20 280
-/+ buffers/cache: 2987 4901
Swap: 3151 1 3150
参考文章: http://www.unixmen.com/how-to-clear-memory-cache-on-linux-servers/