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