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 implemnetation 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 programms, 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/sysctl/vm.txt 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 damon/index << 30 hugetlbpage 29 hugetlbpage 31 idle_page_tracking 30 idle_page_tracking 32 ksm 31 ksm 33 memory-hotplug 32 memory-hotplug 34 multigen_lru << 35 nommu-mmap << 36 numa_memory_policy 33 numa_memory_policy 37 numaperf 34 numaperf 38 pagemap 35 pagemap 39 shrinker_debugfs << 40 soft-dirty 36 soft-dirty 41 swap_numa << 42 transhuge 37 transhuge 43 userfaultfd 38 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.