xref: /linux/Documentation/admin-guide/mm/index.rst (revision c9161088e54b56d7ff8c92fd9e18b0fb7a20b2b3)
13a3f7e26SMike Rapoport=================
23a3f7e26SMike RapoportMemory Management
33a3f7e26SMike Rapoport=================
43a3f7e26SMike Rapoport
53a3f7e26SMike RapoportLinux memory management subsystem is responsible, as the name implies,
63a3f7e26SMike Rapoportfor managing the memory in the system. This includes implemnetation of
73a3f7e26SMike Rapoportvirtual memory and demand paging, memory allocation both for kernel
83a3f7e26SMike Rapoportinternal structures and user space programms, mapping of files into
93a3f7e26SMike Rapoportprocesses address space and many other cool things.
103a3f7e26SMike Rapoport
113a3f7e26SMike RapoportLinux memory management is a complex system with many configurable
123a3f7e26SMike Rapoportsettings. Most of these settings are available via ``/proc``
133a3f7e26SMike Rapoportfilesystem and can be quired and adjusted using ``sysctl``. These APIs
143a3f7e26SMike Rapoportare described in Documentation/sysctl/vm.txt and in `man 5 proc`_.
153a3f7e26SMike Rapoport
163a3f7e26SMike Rapoport.. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html
173a3f7e26SMike Rapoport
183a3f7e26SMike RapoportHere we document in detail how to interact with various mechanisms in
193a3f7e26SMike Rapoportthe Linux memory management.
201ad1335dSMike Rapoport
211ad1335dSMike Rapoport.. toctree::
221ad1335dSMike Rapoport   :maxdepth: 1
231ad1335dSMike Rapoport
241ad1335dSMike Rapoport   hugetlbpage
251ad1335dSMike Rapoport   idle_page_tracking
26*c9161088SMike Rapoport   ksm
271ad1335dSMike Rapoport   pagemap
281ad1335dSMike Rapoport   soft-dirty
291ad1335dSMike Rapoport   userfaultfd
30