GNU Linux-libre 6.6.34-gnu
[releases.git] / Documentation / admin-guide / mm / index.rst
1 =================
2 Memory Management
3 =================
4
5 Linux memory management subsystem is responsible, as the name implies,
6 for managing the memory in the system. This includes implementation of
7 virtual memory and demand paging, memory allocation both for kernel
8 internal structures and user space programs, mapping of files into
9 processes address space and many other cool things.
10
11 Linux memory management is a complex system with many configurable
12 settings. Most of these settings are available via ``/proc``
13 filesystem and can be quired and adjusted using ``sysctl``. These APIs
14 are 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
18 Linux memory management has its own jargon and if you are not yet
19 familiar with it, consider reading Documentation/admin-guide/mm/concepts.rst.
20
21 Here we document in detail how to interact with various mechanisms in
22 the 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