Memory Management and Eviction

From MemCP
Jump to navigation Jump to search

MemCP tracks persisted shard columns, indexes, temporary columns, keytables, cache-engine objects, and string dictionaries in a global memory manager.

The overall budget defaults to 50% of system RAM. A separate persisted-data budget defaults to 30%. Exact byte limits override percentages. If system available memory falls too low, MemCP can evict before its own configured budget is exhausted.

Eviction is LRU-like and type-aware. Persistent shard eviction releases only in-memory representations; files remain and are reloaded on demand. Shards with unflushed deltas cannot be evicted. memory tables are never evicted because that would destroy their only copy. cache tables are explicitly reconstructible and may be discarded under pressure.

Monitor both current/budgeted memory and reload behavior. A workload whose hot set exceeds the budget remains correct for persistent tables but may become storage-I/O bound. See Settings and Dashboard and Operations.