Skip to main content

Module memory_guard

Module memory_guard 

Source
Expand description

Process-level RAM guardian with adaptive eviction and hard OOM protection.

Monitors RSS via platform-specific APIs and triggers tiered cache eviction when memory usage exceeds configurable thresholds (default: 5% of system RAM). At critical levels (>3x limit), performs emergency shutdown to prevent OS OOM kill.

Structs§

MemorySnapshot
Snapshot of current memory state for diagnostics.

Enums§

PressureLevel

Functions§

abort_requested
Returns true if the guardian has requested background tasks to abort.
force_purge
Force immediate purge of all caches and jemalloc arenas.
get_rss_bytes
Current process RSS in bytes, or None if unavailable.
get_system_ram_bytes
Total physical RAM in bytes, or None if unavailable.
is_under_pressure
Quick, non-allocating memory pressure check for hot loops (scanners, indexers). Returns true if memory is at or above Soft pressure and work should be paused/stopped.
jemalloc_purge
Force-purge all jemalloc arenas to return memory to the OS.
peak_rss_bytes
Recorded peak RSS since process start.
rss_limit_bytes
Returns the RSS limit in bytes based on max_ram_percent config.
start_guard
Start the background memory guardian task (idempotent). Polls every 3s (normal) or 1s (under pressure). At Critical level, performs emergency shutdown to prevent OS OOM kill.