index.rst 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. =================
  2. Memory Management
  3. =================
  4. Linux memory management subsystem is responsible, as the name implies,
  5. for managing the memory in the system. This includes implementation of
  6. virtual memory and demand paging, memory allocation both for kernel
  7. internal structures and user space programs, mapping of files into
  8. processes address space and many other cool things.
  9. Linux memory management is a complex system with many configurable
  10. settings. Most of these settings are available via ``/proc``
  11. filesystem and can be queried and adjusted using ``sysctl``. These APIs
  12. are described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_.
  13. .. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html
  14. Linux memory management has its own jargon and if you are not yet
  15. familiar with it, consider reading Documentation/admin-guide/mm/concepts.rst.
  16. Here we document in detail how to interact with various mechanisms in
  17. the Linux memory management.
  18. .. toctree::
  19. :maxdepth: 1
  20. concepts
  21. cma_debugfs
  22. damon/index
  23. hugetlbpage
  24. idle_page_tracking
  25. ksm
  26. memory-hotplug
  27. multigen_lru
  28. nommu-mmap
  29. numa_memory_policy
  30. numaperf
  31. pagemap
  32. shrinker_debugfs
  33. soft-dirty
  34. swap_numa
  35. transhuge
  36. userfaultfd
  37. zswap