For now just the content copied from the old linux-mm site. Please update and include links to Linux memory management documentation elsewhere. * HighMemory or how the Linux kernel can use more than 1GB of physical memory. * [[Memory_pressure|Memory Pressure]] - What is memory pressure? How does it affect Linux? * MemoryHierarchy - a work in progress on explaining the memory hierarchy and the need for AdvancedPageReplacement algorithms. * OverCommitAccounting - how to configure memory overcommit mode on Linux. * VirtualMemory - How the kernel handles paging and VM * [[Drop_Caches|Drop_Caches]] - How can I flush the filesystem cache? * [[OOM|Out Of Memory (OOM)]] - I got messages on my console saying Linux was out of memory, and killed some tasks, why? * [[Low_On_Memory|Low On Memory]] - My system has plenty of RAM for its workload, but very little free. Why is Linux wasting so much RAM? Where is it all going? Or, why is my system using swap when it also has plenty of free RAM? * [[WhereDidMyMemoryGo|Dude, Where's my Memory?]] - How much memory is the kernel using? Where did it all go? * [[PageTableStructure|Page Table Structure]] - Linux uses x86-style pagetables on all architectures. This shows how they are structured and also the Linux names for each level of the pagetables (this differs from AMD or Intel's terminology in the hardware documentation). It also shows how the pagetables are structured on powerpc where the hardware does not use them directly. == External documents == * Joe Knapka's [[http://www.kneuro.net/linux-mm/|Outline of the Linux Memory Management System]], which is mostly about the 2.4 kernel. * Mel Gorman's book [[http://www.phptr.com/content/images/0131453483/downloads/gorman_book.pdf|"Understanding the Linux Virtual Memory Manager"]] (beware: it's a 8.5MB pdf) from [[http://phptr.com/perens|Bruce Perens' Open Source Series]], which also covers what is new in 2.6 kernels. [[http://www.skynet.ie/~mel/projects/vm/|Here]] is Mel's old page about Linux VM.d