定时清理Linux 内存和缓存


  为了提高磁盘存取效率,Linux做了一些精心的设计,除了对dentry进行缓存(用于VFS,加速文件路径名到inode的转换),还采取了两种主要Cache方式:Buffer Cache和Page Cache。前者针对磁盘块的读写,后者针对文件inode的读写。这些Cache有效缩短了 I/O系统调用(比如read,write,getdents)的时间。


used=`free -m | awk 'NR==2' | awk '{print $3}'`
free=`free -m | awk 'NR==2' | awk '{print $4}'`
total=`expr $free + $used`
percent=$(printf "%f" `echo "scale=2; $free / $total * 100  "|bc`)


if [ `echo "$percent < 10" | bc` -eq 1 ] ; 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
                echo "OK" >> /var/log/mem.log
else
   echo "Not required" >> /var/log/mem.log


fi


定时脚本


# echo "*/30 * * * * sh clean.sh"

你可能感兴趣的:(系统运维,linux,内存,缓存)