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