Skip to main content

You are not logged in. Your edit will be placed in a queue until it is peer reviewed.

We welcome edits that make the post easier to understand and more valuable for readers. Because community members review edits, please try to make the post substantially better than how you found it, for example, by fixing grammar or adding additional resources and hyperlinks.

4
  • Thanks Joe, however the first 2 options specifically relate to data which needs to be written back to the filesystem (i.e. the write buffer) not data which has been read and has not been changed (the read buffer). The vfs_cache_pressure controls the preference for evicting file metadata relative to file contents. Commented Nov 18, 2014 at 16:27
  • @symcbean You are correct. The answer speaks more about write cache. The read cache are cleared based on LRU. However, Linux uses a Two-List Strategy based on which the read cache is being cleared. You can read more about Two-List Stragety and how linux clears the read cache here. Let me know if this makes sense. In your case I assume that after all processes are stopped, these read caches go into inactive list and are cleared Commented Nov 18, 2014 at 16:52
  • thanks, nice article. Any idea what book the chapter comes from? However, although it explains how a particular page is prioritized for eviction, it does not really explain why pages are evicted when there is no apparent demand for memory. What controls the process "to shrink the cache to make available more RAM for other uses"? What is it replacing these with? Commented Nov 18, 2014 at 17:21
  • @symcbean The cache eviction does work immediately when there is a demand for memory. However, it doesn’t make sense to have it in cache when no one is actively using it. There by the active pages become inactive pages and eventually be evicted. I assume your question originates from the point that the eviction shall happen only when there is demand for memory. The linux would clear every inactive page as and when they are available. As [noted in the article][jothirams.com/linux-cached-memory/] if everything is active, you will run out of memory and OOM will be called. Commented Nov 18, 2014 at 21:16