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_cache
2.释放dentry和inode
# echo 2 > /proc/sys/vm/drop_cache
3.释放page cache,dentry,inode
# echo 3 > /proc/sys/vm/drop_cache
在释放内存前,最好先允许sync,强制将系统正在处理的page cahce,dentry,inode写入磁盘。
发表评论