Linux vm.overcommit_memory and overcommit_ratio

What these two sysctls actually do vm.overcommit_memory and vm.overcommit_ratio are the two knobs the Linux kernel exposes for virtual memory commitment accounting — the accounting layer that decides whether your process can be granted a virtual address range that may not have actual pages to back it. The commit accounting sits on top of the... » read more

Linux multi-generational LRU: state of mglru in 2026

What mglru actually replaces The multi-generational LRU (mglru, also lru_gen in the kernel source) is the replacement page-reclaim algorithm merged in Linux 6.1 (commit c174c2cd0441, end of 2022, Yu Zhao’s 12-patch series). It sits next to the classic active/inactive LRU — both compile paths exist in mm/vmscan.c and you choose at boot with CONFIG_LRU_GEN_ENABLED. The... » read more

Linux memory cgroup v2: how the kernel enforces the budget

What the memory controller actually does The cgroup v2 memory controller enforces a per-cgroup memory budget that the page allocator checks at every allocation. When a cgroup exceeds its allowance, the kernel starts reclaiming its pages, slowing down its tasks under memory pressure, and — if the cgroup is at its hard limit and cannot... » read more

Linux PSI memory pressure: what it really measures

What PSI actually measures Pressure Stall Information (PSI) was merged in Linux 4.20 (commit e970d0aa0bb98a9d4b9a2e3887da44b79f7b46c8 upstream — Johannes Weiner’s psi-tracking series). It is not a load average, it is not a throughput number, and it is emphatically not a “how busy is the CPU” metric. PSI answers one question and one question only: For how... » read more