index.rst 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  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 implemnetation of
  6. virtual memory and demand paging, memory allocation both for kernel
  7. internal structures and user space programms, 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 quired and adjusted using ``sysctl``. These APIs
  12. are described in Documentation/sysctl/vm.txt 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
  16. :ref:`Documentation/admin-guide/mm/concepts.rst <mm_concepts>`.
  17. Here we document in detail how to interact with various mechanisms in
  18. the Linux memory management.
  19. .. toctree::
  20. :maxdepth: 1
  21. concepts
  22. hugetlbpage
  23. idle_page_tracking
  24. ksm
  25. numa_memory_policy
  26. pagemap
  27. soft-dirty
  28. transhuge
  29. userfaultfd