Mike Rapoport | 3a3f7e2 | 2018-04-18 11:07:48 +0300 | [diff] [blame] | 1 | ================= |
| 2 | Memory Management |
| 3 | ================= |
| 4 | |
| 5 | Linux memory management subsystem is responsible, as the name implies, |
| 6 | for managing the memory in the system. This includes implemnetation of |
| 7 | virtual memory and demand paging, memory allocation both for kernel |
| 8 | internal structures and user space programms, mapping of files into |
| 9 | processes address space and many other cool things. |
| 10 | |
| 11 | Linux memory management is a complex system with many configurable |
| 12 | settings. Most of these settings are available via ``/proc`` |
| 13 | filesystem and can be quired and adjusted using ``sysctl``. These APIs |
| 14 | are described in Documentation/sysctl/vm.txt and in `man 5 proc`_. |
| 15 | |
| 16 | .. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html |
| 17 | |
| 18 | Here we document in detail how to interact with various mechanisms in |
| 19 | the Linux memory management. |
Mike Rapoport | 1ad1335 | 2018-04-18 11:07:49 +0300 | [diff] [blame] | 20 | |
| 21 | .. toctree:: |
| 22 | :maxdepth: 1 |
| 23 | |
| 24 | hugetlbpage |
| 25 | idle_page_tracking |
Mike Rapoport | c916108 | 2018-04-24 09:40:28 +0300 | [diff] [blame] | 26 | ksm |
Mike Rapoport | 3ecf53e | 2018-05-08 10:02:10 +0300 | [diff] [blame^] | 27 | numa_memory_policy |
Mike Rapoport | 1ad1335 | 2018-04-18 11:07:49 +0300 | [diff] [blame] | 28 | pagemap |
| 29 | soft-dirty |
| 30 | userfaultfd |