07017acb06
Add an admin guide. Link: https://lkml.kernel.org/r/20220918080010.2920238-14-yuzhao@google.com Signed-off-by: Yu Zhao <yuzhao@google.com> Acked-by: Brian Geffon <bgeffon@google.com> Acked-by: Jan Alexander Steffens (heftig) <heftig@archlinux.org> Acked-by: Oleksandr Natalenko <oleksandr@natalenko.name> Acked-by: Steven Barrett <steven@liquorix.net> Acked-by: Suleiman Souhlal <suleiman@google.com> Acked-by: Mike Rapoport <rppt@linux.ibm.com> Tested-by: Daniel Byrne <djbyrne@mtu.edu> Tested-by: Donald Carr <d@chaos-reins.com> Tested-by: Holger Hoffstätte <holger@applied-asynchrony.com> Tested-by: Konstantin Kharlamov <Hi-Angel@yandex.ru> Tested-by: Shuang Zhai <szhai2@cs.rochester.edu> Tested-by: Sofia Trinh <sofia.trinh@edi.works> Tested-by: Vaibhav Jain <vaibhav@linux.ibm.com> Cc: Andi Kleen <ak@linux.intel.com> Cc: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com> Cc: Barry Song <baohua@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Dave Hansen <dave.hansen@linux.intel.com> Cc: Hillf Danton <hdanton@sina.com> Cc: Jens Axboe <axboe@kernel.dk> Cc: Johannes Weiner <hannes@cmpxchg.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Matthew Wilcox <willy@infradead.org> Cc: Mel Gorman <mgorman@suse.de> Cc: Miaohe Lin <linmiaohe@huawei.com> Cc: Michael Larabel <Michael@MichaelLarabel.com> Cc: Michal Hocko <mhocko@kernel.org> Cc: Mike Rapoport <rppt@kernel.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Qi Zheng <zhengqi.arch@bytedance.com> Cc: Tejun Heo <tj@kernel.org> Cc: Vlastimil Babka <vbabka@suse.cz> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
46 lines
1.3 KiB
ReStructuredText
46 lines
1.3 KiB
ReStructuredText
=================
|
|
Memory Management
|
|
=================
|
|
|
|
Linux memory management subsystem is responsible, as the name implies,
|
|
for managing the memory in the system. This includes implementation of
|
|
virtual memory and demand paging, memory allocation both for kernel
|
|
internal structures and user space programs, mapping of files into
|
|
processes address space and many other cool things.
|
|
|
|
Linux memory management is a complex system with many configurable
|
|
settings. Most of these settings are available via ``/proc``
|
|
filesystem and can be quired and adjusted using ``sysctl``. These APIs
|
|
are described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_.
|
|
|
|
.. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html
|
|
|
|
Linux memory management has its own jargon and if you are not yet
|
|
familiar with it, consider reading
|
|
:ref:`Documentation/admin-guide/mm/concepts.rst <mm_concepts>`.
|
|
|
|
Here we document in detail how to interact with various mechanisms in
|
|
the Linux memory management.
|
|
|
|
.. toctree::
|
|
:maxdepth: 1
|
|
|
|
concepts
|
|
cma_debugfs
|
|
damon/index
|
|
hugetlbpage
|
|
idle_page_tracking
|
|
ksm
|
|
memory-hotplug
|
|
multigen_lru
|
|
nommu-mmap
|
|
numa_memory_policy
|
|
numaperf
|
|
pagemap
|
|
shrinker_debugfs
|
|
soft-dirty
|
|
swap_numa
|
|
transhuge
|
|
userfaultfd
|
|
zswap
|