1=============================== 2Memory Management Documentation 3=============================== 4 5This is a guide to understanding the memory management subsystem 6of Linux. If you are looking for advice on simply allocating memory, 7see the :ref:`memory_allocation`. For controlling and tuning guides, 8see the :doc:`admin guide <../admin-guide/mm/index>`. 9 10.. note:: 11 12 Unfortunately, parts of this guide are still incomplete or missing. 13 While we appreciate contributions, documentation in this area is hard 14 to get right and requires a lot of attention to detail. New contributors 15 should reach out to the relevant maintainers early. 16 17 This guide is expected to reflect reality, which requires contributors 18 to have a detailed understanding. Documentation generated with LLMs 19 by contributors unfamiliar with these details shifts the real work onto 20 reviewers, which is why such contributions will be rejected without 21 further comment. 22 23.. toctree:: 24 :maxdepth: 1 25 26 physical_memory 27 page_tables 28 process_addrs 29 bootmem 30 page_allocation 31 vmalloc 32 slab 33 highmem 34 page_reclaim 35 swap 36 swap-table 37 page_cache 38 shmfs 39 oom 40 41Unsorted Documentation 42====================== 43 44This is a collection of unsorted documents about the Linux memory management 45(MM) subsystem internals with different level of details ranging from notes and 46mailing list responses for elaborating descriptions of data structures and 47algorithms. It should all be integrated nicely into the above structured 48documentation, or deleted if it has served its purpose. 49 50.. toctree:: 51 :maxdepth: 1 52 53 active_mm 54 allocation-profiling 55 arch_pgtable_helpers 56 balance 57 damon/index 58 free_page_reporting 59 hmm 60 hwpoison 61 hugetlbfs_reserv 62 ksm 63 memory-model 64 memfd_preservation 65 mmu_notifier 66 multigen_lru 67 numa 68 overcommit-accounting 69 page_migration 70 page_frags 71 page_owner 72 page_table_check 73 remap_file_pages 74 split_page_table_lock 75 transhuge 76 unevictable-lru 77 vmalloced-kernel-stacks 78 vmemmap_dedup 79 zsmalloc 80