xref: /linux/Documentation/admin-guide/mm/index.rst (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
13a3f7e26SMike Rapoport=================
23a3f7e26SMike RapoportMemory Management
33a3f7e26SMike Rapoport=================
43a3f7e26SMike Rapoport
53a3f7e26SMike RapoportLinux memory management subsystem is responsible, as the name implies,
6751d5b27SAndrew Klychkovfor managing the memory in the system. This includes implementation of
73a3f7e26SMike Rapoportvirtual memory and demand paging, memory allocation both for kernel
8751d5b27SAndrew Klychkovinternal structures and user space programs, 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``
13*6b2fa426SDaniel Watsonfilesystem and can be queried and adjusted using ``sysctl``. These APIs
1457043247SMauro Carvalho Chehabare described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_.
153a3f7e26SMike Rapoport
163a3f7e26SMike Rapoport.. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html
173a3f7e26SMike Rapoport
18f462951eSMike RapoportLinux memory management has its own jargon and if you are not yet
1900cba6b6SMike Rapoport (IBM)familiar with it, consider reading Documentation/admin-guide/mm/concepts.rst.
20f462951eSMike Rapoport
213a3f7e26SMike RapoportHere we document in detail how to interact with various mechanisms in
223a3f7e26SMike Rapoportthe Linux memory management.
231ad1335dSMike Rapoport
241ad1335dSMike Rapoport.. toctree::
251ad1335dSMike Rapoport   :maxdepth: 1
261ad1335dSMike Rapoport
27f462951eSMike Rapoport   concepts
284f4cfa6cSMauro Carvalho Chehab   cma_debugfs
29c4ba6014SSeongJae Park   damon/index
301ad1335dSMike Rapoport   hugetlbpage
311ad1335dSMike Rapoport   idle_page_tracking
32c9161088SMike Rapoport   ksm
336bf53999SMike Rapoport   memory-hotplug
3407017acbSYu Zhao   multigen_lru
352b7295c0SDaniel W. S. Almeida   nommu-mmap
363ecf53e4SMike Rapoport   numa_memory_policy
378867f610SJonathan Corbet   numaperf
381ad1335dSMike Rapoport   pagemap
397507f099SRoman Gushchin   shrinker_debugfs
401ad1335dSMike Rapoport   soft-dirty
41ad782c48SSeongJae Park   swap_numa
4245c9a74fSMike Rapoport   transhuge
431ad1335dSMike Rapoport   userfaultfd
44ad782c48SSeongJae Park   zswap
45