Glossary — in plain language

SLRU (Simple LRU cache)

Also called: Simple LRU, slru.c cache

In plain English

An SLRU is a small, fixed-size, least-recently-used cache of 8KB pages, implemented once in slru.c and reused for several internal logs. It is deliberately simpler than the main shared-buffer pool: a handful of buffers, basic LRU eviction, no full buffer manager. The same SLRU code backs the commit log (pg_xact), subtransaction map (pg_subtrans), and multixact data (pg_multixact), among others.

Why it matters

Because each SLRU is small and shared, it can become a concurrency hot spot under the right workload — heavy savepoints overflow into pg_subtrans, heavy row-share locking floods pg_multixact. PostgreSQL 17 made the buffer sizes configurable so you can relieve that pressure; pg_stat_slru lets you see it.

Was this helpful?

← Browse the full glossary