1================= 2Memory Management 3================= 4 5Linux memory management subsystem is responsible, as the name implies, 6for managing the memory in the system. This includes implemnetation of 7virtual memory and demand paging, memory allocation both for kernel 8internal structures and user space programms, mapping of files into 9processes address space and many other cool things. 10 11Linux memory management is a complex system with many configurable 12settings. Most of these settings are available via ``/proc`` 13filesystem and can be quired and adjusted using ``sysctl``. These APIs 14are 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 18Linux memory management has its own jargon and if you are not yet 19familiar with it, consider reading 20:ref:`Documentation/admin-guide/mm/concepts.rst <mm_concepts>`. 21 22Here we document in detail how to interact with various mechanisms in 23the Linux memory management. 24 25.. toctree:: 26 :maxdepth: 1 27 28 concepts 29 hugetlbpage 30 idle_page_tracking 31 ksm 32 memory-hotplug 33 numa_memory_policy 34 pagemap 35 soft-dirty 36 transhuge 37 userfaultfd 38