DevOps · Flashcard

Memory is called an incompressible resource. What does this mean in practice?

  • AOnce allocated, the kernel cannot reclaim memory gradually — it must kill the process to free the resource
  • BThe kernel compresses memory pages when usage is high, trading CPU time for reduced memory footprint
  • CMemory limits are enforced at allocation time — the kernel blocks new allocations before they exceed the limit
  • DMemory is pinned to a single CPU socket and cannot be moved between NUMA nodes under pressure

Why this is the answer

CPU is compressible — you can throttle it. Memory is incompressible — once allocated, the kernel can't reclaim it without killing the process. This is why exceeding CPU limits causes throttling but exceeding memory limits causes OOMKill.

Official docs
Study in Gnoseed →