index.rst 1.2 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
=================
Memory Management
=================

Linux memory management subsystem is responsible, as the name implies,
for managing the memory in the system. This includes implemnetation of
virtual memory and demand paging, memory allocation both for kernel
internal structures and user space programms, 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
14
are described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_.
15 16 17

.. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html

18 19 20 21
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>`.

22 23
Here we document in detail how to interact with various mechanisms in
the Linux memory management.
24 25 26 27

.. toctree::
   :maxdepth: 1

28
   concepts
29
   cma_debugfs
30 31
   hugetlbpage
   idle_page_tracking
32
   ksm
33
   memory-hotplug
34
   nommu-map
35
   numa_memory_policy
36
   numaperf
37 38
   pagemap
   soft-dirty
39
   transhuge
40
   userfaultfd