Enhancing PostgreSQL Plasticity: New Frontiers in Memory Management
summary
Demonstrates experiments that let PostgreSQL shrink live shared_buffers by unmapping cached pages (using mmap/madvise-style tricks) to reduce RSS in a demo where a 256MB buffer pool is partially released; tooling is experimental and a patch is moving upstream. Covers dynamic shared memory (DSA), buffer mapping and pinned-page limits, and proposals like pg_buffercache_invalidate extension, strategic memory segmentation, and clock sweep algorithm redesign aimed at enabling runtime shrink/expand for serverless and over‑booking use cases.
AI-written summary · about
chapters (10)
- 0:00Introduction and speakers
- 3:59Memory management in PostgreSQL
- 12:52Shared memory and locking
- 19:41Local memory management
- 22:10Kernel memory consumption
- 25:55Debugging memory usage
- 28:09Concept of memory plasticity
- 36:19Challenges and possibilities
- 38:49Demo on memory shrinkage
- 41:40Future directions and thanks
related talks
32mDesigning and implementing a monitoring feature in PostgreSQL
52mChanging shared_buffers on the fly
52mNUMA vs PostgreSQL
56mPostgreSQL at low Level: stay curious!
50mInside PostgreSQL Shared Memory
39mPostgreSQL: Page Buffer Overview
48mPractical Memory Tuning for PostgreSQL
30mPostgreSQL and Linux Kernel interactions
