我對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