Linux Memory Management & NUMA — Virtual Memory, Paging, Reclaim, OOM, Hugepages, NUMA Tuning
Parent: DevOps, Infrastructure & Observability · researched 2026-06-01T05:18:28.612Z· 13 sources · 14 concepts · skill devops-infra
DevOps / infrastructure / observability family ROUTER. Split into focused sub-hubs — route to: devops-linux-internals (kernel, boot, memory/NUMA, storage/filesystems, virtualization, io_uring, cgroups
devops-infra
- DevOps / infrastructure / observability family ROUTER. Split into focused sub-hubs - route to: devops-linux-internals (kernel, boot, memory/NUMA, storage/filesystems, virtualization, io_uring, cgroups/namespaces, sandboxing, immutable Linux, privilege); devops-linux-admin (sysadmin, systemd, package management, shell scripting, host networking diagnostics); devops-containers-cicd (Docker, Kubernetes, CI/CD pipelines, Terraform/Kafka IaC, git workflows, library packaging); devops-observability (Node/OTel observability, Pino logging, Sentry, eBPF, Linux perf tracing). Pick the sub-hub matching the task. [source]
- This hub routes to on-demand reference files under references/. See each spoke for depth. [source]
Children
- Virtual memory & demand paging (page tables/TLB, minor vs major faults, copy-on-write, page cache, anonymous vs file-backed, swap & vm.swappiness) (frontier)
- Memory overcommit (vm.overcommit_memory heuristic/always/strict, overcommit_ratio, CommitLimit/Committed_AS) (frontier)
- Reclaim machinery (kswapd vs direct reclaim, min/low/high watermarks, vm.min_free_kbytes, active/inactive LRU, MGLRU, PSI memory pressure) (frontier)
- The OOM killer (oom_badness, oom_score_adj -1000..+1000, panic_on_oom, dmesg forensic) (frontier)
- cgroup-v2 memcg OOM (memory.max/high/low/min, memory.swap.max, memory.oom.group, memory.events, memory.pressure, memory.reclaim) (frontier)
- systemd-oomd (PSI + swap driven proactive userspace OOM, ManagedOOMMemoryPressure/Swap) (frontier)
- Transparent hugepages (enabled always/madvise/never, defrag, khugepaged pages_to_scan/max_ptes_none, MADV_HUGEPAGE/NOHUGEPAGE/COLLAPSE) (frontier)
- Multi-size THP / mTHP & folios (hugepages-<size>kB/enabled inherit, per-size stats, THP shrinker shrink_underused) (frontier)
- Explicit hugepages (hugetlbfs, vm.nr_hugepages, 2M/1G hugepagesz boot reserve, MAP_HUGETLB, hugetlb cgroup controller) (frontier)
- NUMA topology & node distance (numactl -H, lscpu, lstopo, /sys/devices/system/node) (frontier)
- AutoNUMA balancing (kernel.numa_balancing, page migration & scheduler bias) (frontier)
- NUMA memory policy (numactl --membind/--interleave/--preferred/--localalloc, set_mempolicy/mbind, MPOL_BIND/INTERLEAVE/PREFERRED/LOCAL) (frontier)
- zone_reclaim_mode & numastat (numa_hit/miss/foreign, local_node/other_node) (frontier)
- Container/k8s NUMA & memory limits (cpuset.mems, Topology Manager, Guaranteed QoS, exit 137) (frontier)
Frontier under this node: AutoNUMA balancing (kernel.numa_balancing, page migration & scheduler bias), Container/k8s NUMA & memory limits (cpuset.mems, Topology Manager, Guaranteed QoS, exit 137), Explicit hugepages (hugetlbfs, vm.nr_hugepages, 2M/1G hugepagesz boot reserve, MAP_HUGETLB, hugetlb cgroup controller), Memory overcommit (vm.overcommit_memory heuristic/always/strict, overcommit_ratio, CommitLimit/Committed_AS), Multi-size THP / mTHP & folios (hugepages-<size>kB/enabled inherit, per-size stats, THP shrinker shrink_underused), NUMA memory policy (numactl --membind/--interleave/--preferred/--localalloc, set_mempolicy/mbind, MPOL_BIND/INTERLEAVE/PREFERRED/LOCAL), NUMA topology & node distance (numactl -H, lscpu, lstopo, /sys/devices/system/node), Reclaim machinery (kswapd vs direct reclaim, min/low/high watermarks, vm.min_free_kbytes, active/inactive LRU, MGLRU, PSI memory pressure), The OOM killer (oom_badness, oom_score_adj -1000..+1000, panic_on_oom, dmesg forensic), Transparent hugepages (enabled always/madvise/never, defrag, khugepaged pages_to_scan/max_ptes_none, MADV_HUGEPAGE/NOHUGEPAGE/COLLAPSE), Virtual memory & demand paging (page tables/TLB, minor vs major faults, copy-on-write, page cache, anonymous vs file-backed, swap & vm.swappiness), cgroup-v2 memcg OOM (memory.max/high/low/min, memory.swap.max, memory.oom.group, memory.events, memory.pressure, memory.reclaim), systemd-oomd (PSI + swap driven proactive userspace OOM, ManagedOOMMemoryPressure/Swap), zone_reclaim_mode & numastat (numa_hit/miss/foreign, local_node/other_node)