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 << 34 multigen_lru << 35 nommu-mmap << 36 numa_memory_policy 32 numa_memory_policy 37 numaperf << 38 pagemap 33 pagemap 39 shrinker_debugfs << 40 soft-dirty 34 soft-dirty 41 swap_numa << 42 transhuge 35 transhuge 43 userfaultfd 36 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.