xref: /linux/Documentation/admin-guide/mm/index.rst (revision 46e6acfe3501fa938af9c5bd730f0020235b08a2)
1=================
2Memory Management
3=================
4
5Linux memory management subsystem is responsible, as the name implies,
6for managing the memory in the system. This includes implementation of
7virtual memory and demand paging, memory allocation both for kernel
8internal structures and user space programs, 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 queried and adjusted using ``sysctl``. These APIs
14are described in Documentation/admin-guide/sysctl/vm.rst 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 Documentation/admin-guide/mm/concepts.rst.
20
21Here we document in detail how to interact with various mechanisms in
22the Linux memory management.
23
24.. toctree::
25   :maxdepth: 1
26
27   concepts
28   cma_debugfs
29   damon/index
30   hugetlbpage
31   idle_page_tracking
32   ksm
33   memory-hotplug
34   multigen_lru
35   nommu-mmap
36   numa_memory_policy
37   numaperf
38   pagemap
39   shrinker_debugfs
40   soft-dirty
41   swap_numa
42   transhuge
43   userfaultfd
44   zswap
45