multi-gen-lru · research · also MGLRU, multigenerational LRU

Multi-Gen LRU

Multi-Gen LRU is a Linux page-reclaim implementation that groups evictable pages by approximate access recency and uses refault feedback to guide protection.

In Linux v6.12, generations group similar recency while tiers distinguish repeated file-descriptor accesses; tiers are not separate LRU lists. This is not an exact per-reference LRU ordering. [1]

The min_ttl_ms option protects a recent working set, but insufficient memory can trigger the OOM killer; zero disables this option. It is not a per-file retention promise. [2]

The experimental debugfs histogram is noncumulative and scoped by memory cgroup and NUMA node. Counts are estimated pages, not bytes or request counts. [2]

The workingset_refault function dispatches to lru_gen_refault when MGLRU is enabled, before the classic refault-distance path. Do not apply the classic formula indiscriminately. [3]

Relations

related
Linux refault distance, Page cache, CLOCK-Pro, Reuse distance

Limitations

  • Version-pinned source interpretation, not a workload benchmark or a claim that every Linux installation enables MGLRU. [2]

Citations

  1. Linux v6.12: Multi-Gen LRU design, workflow and working-set protection. (accessed 2026-11-09)
  2. Linux v6.12: Multi-Gen LRU administration, runtime options and noncumulative working-set histograms. (accessed 2026-11-09)
  3. Linux v6.12 mm/workingset.c: workingset_refault dispatches separately to lru_gen_refault. (accessed 2026-11-09)

Further reading

  1. Hesela: Linux reclaim is not an exact LRU trace. (accessed 2026-11-09)
Sources & caveats
  • Primary-source synthesis for Linux v6.12; no memory-pressure experiment or runtime configuration change.

JSON: /data/terms/multi-gen-lru.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Multi-Gen LRU. Hesela. 2026-11-09. https://hesela.dev/terms/multi-gen-lru/