Memory Management

Memory Limit

[server]
memory_limit = "4GiB"

Or: NODEDB_MEMORY_LIMIT=4GiB

Per-Engine Budgets

Memory is divided among engines. No single engine can starve others. Default allocation:

BudgetDefault
Vector30%
Sparse / Metadata15%
CRDT10%
Timeseries10%
Query Execution20%
Unallocated headroom15%

Per-Core Arenas

Each Data Plane core is pinned to a dedicated jemalloc arena via nodedb-mem. This eliminates allocator lock contention in the TPC architecture.

Backpressure

When memory pressure rises:

  • Engine memtables flush to disk earlier
  • SPSC bridge reduces read depth at 85% utilization
  • New reads suspend at 95% utilization