18c2ecf20Sopenharmony_ci=================
28c2ecf20Sopenharmony_ciMemory Management
38c2ecf20Sopenharmony_ci=================
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ciLinux memory management subsystem is responsible, as the name implies,
68c2ecf20Sopenharmony_cifor managing the memory in the system. This includes implemnetation of
78c2ecf20Sopenharmony_civirtual memory and demand paging, memory allocation both for kernel
88c2ecf20Sopenharmony_ciinternal structures and user space programms, mapping of files into
98c2ecf20Sopenharmony_ciprocesses address space and many other cool things.
108c2ecf20Sopenharmony_ci
118c2ecf20Sopenharmony_ciLinux memory management is a complex system with many configurable
128c2ecf20Sopenharmony_cisettings. Most of these settings are available via ``/proc``
138c2ecf20Sopenharmony_cifilesystem and can be quired and adjusted using ``sysctl``. These APIs
148c2ecf20Sopenharmony_ciare described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci.. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ciLinux memory management has its own jargon and if you are not yet
198c2ecf20Sopenharmony_cifamiliar with it, consider reading
208c2ecf20Sopenharmony_ci:ref:`Documentation/admin-guide/mm/concepts.rst <mm_concepts>`.
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciHere we document in detail how to interact with various mechanisms in
238c2ecf20Sopenharmony_cithe Linux memory management.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci.. toctree::
268c2ecf20Sopenharmony_ci   :maxdepth: 1
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci   concepts
298c2ecf20Sopenharmony_ci   cma_debugfs
308c2ecf20Sopenharmony_ci   hugetlbpage
318c2ecf20Sopenharmony_ci   idle_page_tracking
328c2ecf20Sopenharmony_ci   ksm
338c2ecf20Sopenharmony_ci   memory-hotplug
348c2ecf20Sopenharmony_ci   nommu-mmap
358c2ecf20Sopenharmony_ci   numa_memory_policy
368c2ecf20Sopenharmony_ci   numaperf
378c2ecf20Sopenharmony_ci   pagemap
388c2ecf20Sopenharmony_ci   soft-dirty
398c2ecf20Sopenharmony_ci   transhuge
408c2ecf20Sopenharmony_ci   userfaultfd
41