欢迎光临
我们一直在努力

Linux使用buffer cache清理内存

在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
赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。