Updated 25 October 2026 · Published by Zoorik
A CPU limit in Kubernetes is the most CPU time a container may use. A Kubernetes memory limit caps its memory.
Kubernetes resource limits: CPU and memory
On Linux, the kernel enforces each one differently:
- A container at its CPU limit is slowed, not killed. This is CPU throttling.
- Over its memory limit, a container may get an out of memory (OOM) kill.
- With no limit or default, a container can use any free CPU or memory on its node.
- Set a limit with no request, and Kubernetes copies the limit into the request, unless a default request applies.
An example from the Kubernetes docs
The docs’ frontend pod has two containers. Each requests 250m of CPU and 64 MiB of memory, with limits of 500m and 128 MiB. 250m means 250 millicpu, a quarter of one CPU.
Why it matters for your bill
The scheduler places pods by their requests, not their limits. But when a limit becomes the request, tight limits can add nodes:
- A tight CPU limit throttles the app.
- A tight memory limit can lead to OOM kills.
- Raising the limit to fix this raises the request, so fewer pods fit per node.
Our guide to requests and limits covers both.
Coral rebalances CPU and memory requests on AKS and EKS to match real use. On regular pods it never reduces a CPU or memory limit. If a raised memory request needs it, the limit rises to 1.5 times the request.
With requests that match use, the same pods fit on fewer nodes. The free assessment works out your own figure.
Read next: Kubernetes pod rebalancing
Sources: Kubernetes, “Resource Management for Pods and Containers” (opens in a new tab); Kubernetes, “Assign CPU Resources to Containers and Pods” (opens in a new tab).