在linux读写文件时,buffer cache用于缓存物理磁盘上的磁盘块,从而加快对磁盘上数据的访问。buffer cache的内容对应磁盘上一个块(block),块通常为1K,都是连续的。在linux下,为了更有效的使用物理内存,操作系统自动使用所有空闲内存作为Buffer Cache使用。当程序需要更多内存时,操作系统会自动减小Cache的大小。在linux下,可通过命令cat /proc/meminfo和free -m查看buffer cache的内存使用情况。
#!/bin/bash
if [ `free -g|grep -w 'Mem:'|awk '{print$6}'` -ge 4 ];then
# buffer/cache 大于4g 开始清理
sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
fi
#!/bin/bash
if [ `free -g|grep -w 'Mem:'|awk '{print$6+$7}'` -ge 4 ];then
# centos 6 buffer+cache 大于4g 开始清理
sync
echo 1 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 3 > /proc/sys/vm/drop_caches
fi
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。