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写入磁盘。
浙公网安备 33010602011771号