1 ================= 1 ================= 2 Memory Management 2 Memory Management 3 ================= 3 ================= 4 4 5 Linux memory management subsystem is responsib 5 Linux memory management subsystem is responsible, as the name implies, 6 for managing the memory in the system. This in 6 for managing the memory in the system. This includes implementation of 7 virtual memory and demand paging, memory alloc 7 virtual memory and demand paging, memory allocation both for kernel 8 internal structures and user space programs, m 8 internal structures and user space programs, mapping of files into 9 processes address space and many other cool th 9 processes address space and many other cool things. 10 10 11 Linux memory management is a complex system wi 11 Linux memory management is a complex system with many configurable 12 settings. Most of these settings are available 12 settings. Most of these settings are available via ``/proc`` 13 filesystem and can be queried and adjusted usi !! 13 filesystem and can be quired and adjusted using ``sysctl``. These APIs 14 are described in Documentation/admin-guide/sys 14 are described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_. 15 15 16 .. _man 5 proc: http://man7.org/linux/man-page 16 .. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html 17 17 18 Linux memory management has its own jargon and 18 Linux memory management has its own jargon and if you are not yet 19 familiar with it, consider reading Documentati !! 19 familiar with it, consider reading >> 20 :ref:`Documentation/admin-guide/mm/concepts.rst <mm_concepts>`. 20 21 21 Here we document in detail how to interact wit 22 Here we document in detail how to interact with various mechanisms in 22 the Linux memory management. 23 the Linux memory management. 23 24 24 .. toctree:: 25 .. toctree:: 25 :maxdepth: 1 26 :maxdepth: 1 26 27 27 concepts 28 concepts 28 cma_debugfs 29 cma_debugfs 29 damon/index 30 damon/index 30 hugetlbpage 31 hugetlbpage 31 idle_page_tracking 32 idle_page_tracking 32 ksm 33 ksm 33 memory-hotplug 34 memory-hotplug 34 multigen_lru << 35 nommu-mmap 35 nommu-mmap 36 numa_memory_policy 36 numa_memory_policy 37 numaperf 37 numaperf 38 pagemap 38 pagemap 39 shrinker_debugfs << 40 soft-dirty 39 soft-dirty 41 swap_numa << 42 transhuge 40 transhuge 43 userfaultfd 41 userfaultfd 44 zswap <<
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.