45 lines · plain
1=================2Memory Management3=================4 5Linux memory management subsystem is responsible, as the name implies,6for managing the memory in the system. This includes implementation of7virtual memory and demand paging, memory allocation both for kernel8internal structures and user space programs, mapping of files into9processes address space and many other cool things.10 11Linux memory management is a complex system with many configurable12settings. Most of these settings are available via ``/proc``13filesystem and can be queried and adjusted using ``sysctl``. These APIs14are 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.html17 18Linux memory management has its own jargon and if you are not yet19familiar with it, consider reading Documentation/admin-guide/mm/concepts.rst.20 21Here we document in detail how to interact with various mechanisms in22the Linux memory management.23 24.. toctree::25 :maxdepth: 126 27 concepts28 cma_debugfs29 damon/index30 hugetlbpage31 idle_page_tracking32 ksm33 memory-hotplug34 multigen_lru35 nommu-mmap36 numa_memory_policy37 numaperf38 pagemap39 shrinker_debugfs40 soft-dirty41 swap_numa42 transhuge43 userfaultfd44 zswap45