linux释放内存
Linux下频繁存取文件时,物理内存可能会被耗尽,当程序结束后,内存不会释放,而是一直作为
Linux缓存有cache
。dentry
,buffer cache
,page cache
。Dentry
用来加速文件路径名到inode
的转换;buffer cache
加速磁盘块的读写;page cache
加速inode
的读写。缩短IO
调用时间。
在释放内存前,最好先进行sync
,强制将系统正在处理的page cahce
,dentry
,inode
写入磁盘。
释放内存方法:
释放page cahce
1 | echo 1 > /proc/ sys / vm / drop_cache |
释放dentry和inode
1 | echo 2 > /proc/ sys / vm / drop_cache |
释放page cache,dentry,inode
1 | echo 3 > /proc/ sys / vm / drop_cache |