創建文件: /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/