A
system for
memory management that comprises: a computing
system having a finite amount of memory and a physical computer readable storage memory readable by a
processing circuit and storing instructions for execution by the circuit to: set, by a memory coordinator, the urgency of each memory
consumer; adjust, by the memory coordinator, the memory quota of each memory
consumer—such that the sum of the memory quota of each memory
consumer does not exceed the memory; and adjust, by each memory consumer, its memory usage in response to a quota input and an urgency input from the memory coordinator to the memory consumer. The memory is managed by a memory coordinator and memory consumers; and consumed by the memory consumers. Each memory consumer has: a memory quota, an urgency and a memory usage. Also, the urgency of each memory consumer increases as the sum of the memory usage of the plurality of memory consumers approaches the finite amount of memory.