我对Linux内存管理概念很新,在阅读一些内存管理相关文档时我有一些基本疑问请澄清我。什么是内存回收在linux中
下面考虑的是我的配置
vm.swappiness=10
vm.vfs_cache_pressure=140
vm.min_free_kbytes=2013265
我的理解,如果可用内存比vm.min_free_kbytes OS少了会回收内存。
1-内存回收是删除不需要的文件或复制到从RAM交换内存?
2-如果它从RAM复制到交换存储器,那么如果我没有使用SWAP存储器,会发生什么情况?
3- swappiness总是大于vm.min_free_kbytes?
4-vm.vfs_cache_pressure的含义是什么?
谢谢你.. !!
感谢很多关于你的答案,只有一个问题要得到清晰 如果没有交换分区, min_free_kbytes = 2G 和系统空闲内存达到2GB是否将数据(Cache.buffer,..)删除或系统将进入OOM状态? –
@MohamedAshraf我链接的文档非常简洁,并且表示“将此设置得太高会立即将您的机器OOM”。我认为只要内核能够抛弃数据(实际上只有缓存),内核就会工作,然后进入一个无限循环,试图达到指示的min_free_kbytes,而不成功。但我不确定。 – linuxfan