千家信息网

Linux使用buffer cache清理内存

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,在linux读写文件时,buffer cache用于缓存物理磁盘上的磁盘块,从而加快对磁盘上数据的访问。buffer cache的内容对应磁盘上一个块(block),块通常为1K,都是连续的。在lin
千家信息网最后更新 2025年12月02日Linux使用buffer cache清理内存

在linux读写文件时,buffer cache用于缓存物理磁盘上的磁盘块,从而加快对磁盘上数据的访问。buffer cache的内容对应磁盘上一个块(block),块通常为1K,都是连续的。在linux下,为了更有效的使用物理内存,操作系统自动使用所有空闲内存作为Buffer Cache使用。当程序需要更多内存时,操作系统会自动减小Cache的大小。在linux下,可通过命令cat /proc/meminfo和free -m查看buffer cache的内存使用情况。

#!/bin/bashif [ `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_cachesfi
#!/bin/bashif [ `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_cachesfi
0