Definition
A system failure mode that arises when finite resources required for operation (memory, file descriptors, threads, storage, CPU cycles, network bandwidth, energy, etc.) are depleted or become unavailable, preventing normal functioning or causing degraded, stalled, or crashed behavior.

Principle

Principle
Systems allocate limited resources; correct operation relies on balanced allocation, reclamation, and throttling. Without bounds, leaks, unbounded growth, contention, or misconfiguration convert finite capacity into a failure surface.

Demonstration

Demonstration
Concrete scenario: a long-running service with a memory leak slowly consumes heap until the OS kills the process for out-of-memory; a server that opens sockets per request exceeds the file-descriptor limit and refuses new connections; a container hits CPU or memory quotas and is throttled or evicted by the orchestrator.

Misapplication

Misapplication
Treating resource exhaustion as merely 'too slow' or assuming it is always recoverable by restarting. Another mistake is addressing only one resource (e.g., memory) while ignoring correlated limits (file handles, ephemeral ports) that actually cause the outage.

Consequence

Consequence
Properly diagnosed, resource exhaustion drives fixes such as leak repair, backpressure, pooling, quotas, and graceful degradation; if unaddressed it produces intermittent outages, denial-of-service conditions, diminished reliability, and can cascade (e.g., retries amplifying load).

Reversal

Reversal
Invert by designing for conservation and boundedness: use quota limits, circuit breakers, admission control, connection pooling, and explicit resource reclamation so systems fail gracefully or shed load instead of exhausting capacity.

Boundary

Boundary
Covers finite, addressable computational and infrastructural resources; excludes permanent hardware failures (although they can look similar) and intentional throttling designed as a policy. The entry focuses on capacity exhaustion rather than algorithmic inefficiency that reduces throughput without reaching absolute limits.

Semantic Tension

Semantic Tension
Often conflated with starvation (lack of CPU due to scheduling), leaks (gradual unreturned allocations), and overload (sudden spike). The tension is whether the root cause is finite-capacity limits, scheduling unfairness, or software defects causing unbounded demand.

Synthesis

Synthesis
Resource exhaustion is the class of failures that occur when a system's finite assets are consumed faster than they can be replenished or reclaimed; addressing it requires measurement, bounding, reclamation, and architectural controls to prevent local depletion from producing systemic failures.