Back to home page

OSCL-LXR

 
 

    


0001 =================
0002 Memory Management
0003 =================
0004 
0005 Linux memory management subsystem is responsible, as the name implies,
0006 for managing the memory in the system. This includes implementation of
0007 virtual memory and demand paging, memory allocation both for kernel
0008 internal structures and user space programs, mapping of files into
0009 processes address space and many other cool things.
0010 
0011 Linux memory management is a complex system with many configurable
0012 settings. Most of these settings are available via ``/proc``
0013 filesystem and can be quired and adjusted using ``sysctl``. These APIs
0014 are described in Documentation/admin-guide/sysctl/vm.rst and in `man 5 proc`_.
0015 
0016 .. _man 5 proc: http://man7.org/linux/man-pages/man5/proc.5.html
0017 
0018 Linux memory management has its own jargon and if you are not yet
0019 familiar with it, consider reading
0020 :ref:`Documentation/admin-guide/mm/concepts.rst <mm_concepts>`.
0021 
0022 Here we document in detail how to interact with various mechanisms in
0023 the Linux memory management.
0024 
0025 .. toctree::
0026    :maxdepth: 1
0027 
0028    concepts
0029    cma_debugfs
0030    damon/index
0031    hugetlbpage
0032    idle_page_tracking
0033    ksm
0034    memory-hotplug
0035    nommu-mmap
0036    numa_memory_policy
0037    numaperf
0038    pagemap
0039    shrinker_debugfs
0040    soft-dirty
0041    swap_numa
0042    transhuge
0043    userfaultfd
0044    zswap