Linux下频繁存取文件时,物理内存可能会被耗尽,当程序结束后,内存不会释放,而是一直作为cache。

Linux缓存有dentry,buffer cache,page cache。

Dentry用来加速文件路径名到inode的转换;buffer cache加速磁盘块的读写;page cache加速inode的读写。缩短IO调用时间。

释放内存方法:

  1.释放page cahce # echo 1 > /proc/sys/vm/drop_caches

  2.释放dentry和inode # echo 2 > /proc/sys/vm/drop_caches

  3.释放page cache,dentry,inode # echo 3 > /proc/sys/vm/drop_caches

在释放内存前,最好先允许sync,强制将系统正在处理的page cahce,dentry,inode写入磁盘。

posted on 2016-11-25 17:08  加油AlwaysWin  阅读(99)  评论(0)    收藏  举报