可以做成定时任务每天执行:/etc/cron.daily/clear_cache.sh
#!/bin/sh
CNT=5
for (( i = 0; i < CNT; i ++ ))
do
sync #同步数据,避免丢失数据,很重要
sleep 1
done
echo 3 > /proc/sys/vm/drop_caches #执行清理catche
频繁的文件访问会导致系统的Cache使用量大增。例如:在使用grep从很多文件中搜索特定数据串的时候,发现内存使用迅速提高,主要是cache的使用占用了相当多的内存。在使用下面命令的时候忽视了文件的数量和文件大小,导致cache突增。
grep -e “dst_string” ./*
大家在使用shell编程的时候一定要注意通配符的使用,这里尤其提醒大家就是星号(*)的使用,星号固然方便,但要适度使用。 这里主要还是记录如何手动清理linux内存cache,因为上面的操作使用的大量的cache。
复制代码
使用free查看当前系统内存使用情况
[root@bogon ~]# free
total used free shared buffers cached
Mem: 1938784 89628 1849156 248 60 17644
-/+ buffers/cache: 71924 1866860
Swap: 2097148 0 2097148
执行grep操作
[root@bogon ~]# grep -e “dsf” ./*