162306a36Sopenharmony_ci================= 262306a36Sopenharmony_ciMemory Management 362306a36Sopenharmony_ci================= 462306a36Sopenharmony_ci 562306a36Sopenharmony_ciLinux memory management subsystem is responsible, as the name implies, 662306a36Sopenharmony_cifor managing the memory in the system. This includes implementation of 762306a36Sopenharmony_civirtual memory and demand paging, memory allocation both for kernel 862306a36Sopenharmony_ciinternal structures and user space programs, mapping of files into 962306a36Sopenharmony_ciprocesses address space and many other cool things. 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ciLinux memory management is a complex system with many configurable 1262306a36Sopenharmony_cisettings. Most of these settings are available via ``/proc`` 1362306a36Sopenharmony_cifilesystem and can be quired and adjusted using ``sysctl``. These APIs 1462306a36Sopenharmony_ciare described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci.. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciLinux memory management has its own jargon and if you are not yet 1962306a36Sopenharmony_cifamiliar with it, consider reading Documentation/admin-guide/mm/concepts.rst. 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciHere we document in detail how to interact with various mechanisms in 2262306a36Sopenharmony_cithe Linux memory management. 2362306a36Sopenharmony_ci 2462306a36Sopenharmony_ci.. toctree:: 2562306a36Sopenharmony_ci :maxdepth: 1 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ci concepts 2862306a36Sopenharmony_ci cma_debugfs 2962306a36Sopenharmony_ci damon/index 3062306a36Sopenharmony_ci hugetlbpage 3162306a36Sopenharmony_ci idle_page_tracking 3262306a36Sopenharmony_ci ksm 3362306a36Sopenharmony_ci memory-hotplug 3462306a36Sopenharmony_ci multigen_lru 3562306a36Sopenharmony_ci nommu-mmap 3662306a36Sopenharmony_ci numa_memory_policy 3762306a36Sopenharmony_ci numaperf 3862306a36Sopenharmony_ci pagemap 3962306a36Sopenharmony_ci shrinker_debugfs 4062306a36Sopenharmony_ci soft-dirty 4162306a36Sopenharmony_ci swap_numa 4262306a36Sopenharmony_ci transhuge 4362306a36Sopenharmony_ci userfaultfd 4462306a36Sopenharmony_ci zswap 45