Lines Matching +full:in +full:- +full:memory
1 # SPDX-License-Identifier: GPL-2.0-only
3 menu "Memory Management options"
10 prompt "Memory model"
17 Linux manages its memory internally. Most users will
22 bool "Flat Memory"
25 This option is best suited for non-NUMA systems with
27 system in terms of performance and resource consumption
30 For systems that have holes in their physical address
31 spaces and for features like NUMA and memory hotplug,
32 choose "Sparse Memory".
34 If unsure, choose this option (Flat Memory) over any other.
37 bool "Discontiguous Memory"
41 memory systems, over FLATMEM. These systems have holes
42 in their physical address spaces, and this option provides
45 Although "Discontiguous Memory" is still used by several
46 architectures, it is considered deprecated in favor of
47 "Sparse Memory".
49 If unsure, choose "Sparse Memory" over this option.
52 bool "Sparse Memory"
56 memory hot-plug systems. This is normal.
59 holes is their physical address space and allows memory
60 hot-plug and hot-remove.
62 If unsure, choose "Flat Memory" over this option.
71 MEMORY_MONITOR is a monitor of some memory reclaim method.
80 File-LRU is a mechanism that put file page in global lru list,
81 and anon page in memcg lru list(if MEMCG is enable), what's
85 bool "Enable Memcg Management in HyperHold"
88 Add more attributes in memory cgroup, these attribute is used
89 to show information, shrink memory, swapin page and so on.
92 bool "Enable zswapd thread to reclaim anon pages in background"
96 zswapd is a kernel thread that reclaim anonymous pages in the
108 bool "Memory reclaim delay accounting"
111 Memory reclaim delay accounting. Never use it as a kernel module.
131 # to represent different areas of memory. This variable allows
152 # Architecture platforms which require a two level mem_section in SPARSEMEM
164 bool "Sparse Memory virtual memmap"
182 # Don't discard allocated memory used to track "memory" and "reserved" memblocks
183 # after early boot, so it can still be used to test for validity of memory.
184 # Also, memblocks are updated with memory hot(un)plug.
188 # Keep arch NUMA mapping infrastructure post-init.
196 # Only be set on architectures that have completely implemented memory hotplug
204 bool "Allow for memory hot-add"
216 bool "Online the newly added memory blocks by default"
219 This option sets the default policy setting for memory hotplug
220 onlining policy (/sys/devices/system/memory/auto_online_blocks) which
221 determines what happens to newly added memory regions. Policy setting
223 See Documentation/admin-guide/mm/memory-hotplug.rst for more information.
225 Say Y here if you want all hot-plugged memory blocks to appear in
227 Say N here if you want the default policy to keep all hot-plugged
228 memory blocks in 'offline' state.
231 bool "Allow for memory hot remove"
236 # Heavily threaded applications may benefit from splitting the mm-wide
240 # ARM's adjust_pte (unused if VIPT) depends on mm-wide page_table_lock.
241 # PA-RISC 7xxx's spinlock_t would enlarge struct page from 32 to 44 bytes.
243 # a per-page lock leads to problems when multiple tables need to be locked
259 # support for memory balloon
264 # support for memory balloon compaction
266 bool "Allow for balloon memory compaction/migration"
270 Memory fragmentation introduced by ballooning might reduce
271 significantly the number of 2MB contiguous memory blocks that can be
274 by the guest workload. Allowing the compaction & migration for memory
275 pages enlisted as being part of memory balloon devices avoids the
276 scenario aforementioned and helps improving memory defragmentation.
279 # support for memory compaction
281 bool "Allow for memory compaction"
286 Compaction is the only memory management component to form
287 high order (larger physically contiguous) memory blocks
290 invocations for high order memory requests. You shouldn't
293 linux-mm@kvack.org.
304 memory can be freed within the host for other uses.
315 while the virtual addresses are not changed. This is useful in
339 the full range of memory available to the CPU. Enabled
365 saving memory until one or another app needs to modify the content.
376 This is the portion of low virtual memory which should be protected
396 bool "Enable recovery from hardware memory errors"
400 Enables code to recover from some memory failures on systems
402 even when some of its memory has uncorrected errors. This requires
403 special hardware support and typically ECC memory.
416 of memory on which to store mappings, but it can only ask the system
417 allocator for chunks in 2^N*PAGE_SIZE amounts - which is frequently
426 long-term mappings means that the space is wasted.
436 See Documentation/admin-guide/mm/nommu-mmap.rst for more information.
447 applications by speeding up page faults during memory
451 If memory constrained on embedded, you may want to say N.
464 memory footprint of applications without a guaranteed
473 memory footprint of applications without a guaranteed
484 Swap transparent huge pages in one piece, without splitting.
501 Cleancache can be thought of as a page-granularity victim cache
504 memory. So when the PFRA "evicts" a page, it first attempts to use
505 cleancache code to put the data contained in that page into
506 "transcendent memory", memory that is not directly accessible or
508 time-varying size. And when a cleancache-enabled
509 filesystem wishes to access a page in a file on disk, it first
512 When a transcendent memory driver is available (such as zcache or
513 Xen transcendent memory), a significant I/O reduction
515 are reduced to a single pointer-compare-against-NULL resulting
516 in a negligible performance hit.
526 "transcendent memory", memory that is not directly accessible or
528 time-varying size. When space in transcendent memory is available,
530 available, all frontswap calls are reduced to a single pointer-
531 compare-against-NULL resulting in a negligible performance hit
537 bool "Contiguous Memory Allocator"
542 This enables the Contiguous Memory Allocator which allows other
543 subsystems to allocate big physically-contiguous blocks of memory.
544 CMA reserves a region of memory and allows only movable pages to
545 be allocated from it. This way, the kernel can use the memory for
555 Turns on debug messages in CMA. This produces KERN_DEBUG
574 number of CMA area in the system.
576 If unsure, leave the default value "7" in UMA and "19" in NUMA.
589 bool "Track memory changes"
593 This option enables memory changes tracking by introducing a
594 soft-dirty bit on pte-s. This bit it set when someone writes
598 See Documentation/admin-guide/mm/soft-dirty.rst for more details.
606 pages that are in the process of being swapped out and attempts to
607 compress them into a dynamically allocated RAM-based memory pool.
608 This can result in a significant I/O reduction on swap device and,
609 in the case where decompressing from RAM is faster that swap device
613 v3.11) that interacts heavily with memory reclaim. While these
614 interactions don't cause any known issues on simple memory setups,
631 If in doubt, select 'LZO'.
736 tristate "Common API for compressed memory storage"
738 Compressed memory storage API. This allows using either zbud or
760 tristate "Memory allocator for compressed pages"
763 zsmalloc is a slab-based memory allocator designed to store
764 compressed RAM pages. zsmalloc uses virtual memory mapping
765 in order to reduce fragmentation. However, this results in a
766 non-standard allocator interface where a handle, not a pointer, is
767 returned by an alloc(). This handle must be mapped in order to
775 This option enables code in the zsmalloc to collect various
776 statistics about whats happening in zsmalloc and exports that
784 int "Maximum user stack size for 32-bit processes (MB)"
789 This is the maximum stack size in Megabytes in the VM layout of 32-bit
791 arch). The stack will be located at the highest memory address minus
793 smaller value in which case that is used.
804 Ordinarily all struct pages are initialised during early boot in a
807 a subset of memmap at boot and then initialise the rest in parallel.
808 This has a potential performance impact on tasks running early in the
819 be useful to tune memory cgroup limits and/or for job placement
822 See Documentation/admin-guide/mm/idle_page_tracking.rst for
832 bool "Device memory (pmem, HMM, etc...) hotplug support"
840 Device memory hotplug support allows for establishing pmem,
841 or other device driver discovered memory regions, in the
843 "device-physical" addresses which is needed for using a DAX
844 mapping in an O_DIRECT operation, among other things.
860 bool "Unaddressable device memory (GPU memory, ...)"
866 memory; i.e., memory that is only accessible from the device (or
881 bool "Collect percpu memory statistics"
885 be used to help understand percpu memory usage.
899 bool "Read-only THP for filesystems (EXPERIMENTAL)"
903 Allow khugepaged to put read-only file-backed pages in THP.
906 support of file THPs will be developed in the next few release
930 Allow naming anonymous virtual memory areas.
932 This feature allows assigning names to virtual memory areas. Assigned
934 and help identifying individual anonymous memory areas.
935 Assigning a name to anonymous virtual memory area might prevent that
936 area from being merged with adjacent virtual memory areas due to the
937 difference in their name.
939 # For lmkd to trigger in-kernel lowmem info
942 bool "Low Memory Killer"
948 bool "Low Memory Killer Debug"
970 Set a threshold to monitoring RSS in per pid
973 bool "Purgeable memory feature"
981 bool "Purgeable memory debug"
985 Debug info for purgeable memory
988 bool "Purgeable memory feature for ashmem"