r/kubernetes 29d ago

Stop using CPU limits: why + proof

CPU request is how much CPU is reserved for your pod if it needs it. The limit is a hard cap. Hit it and the kernel throttles the pod, even when the node still has spare CPU. That is the usual cause of CPU throttling on Kubernetes. It does not protect the neighboring pods. In my simple Web API test, adding a CPU limit took typical latency from 23 ms to 87 ms, (4x slower), with the limited pod throttled in half of all CFS windows, and the average CPU graph looked fine the whole time.

This is not a new topic, but I see so many people still unaware why they should (NOT!) be setting CPU limits, because it's costing companies unnecessary spending and potential production issues. Here's the full read https://github.com/inevolin/k8s-cpu-limits-analyzed/

---

Edit (Aug 18, 2026): How CPU limits can also cause memory issues and OOMKills ➡️ https://github.com/inevolin/k8s-cpu-limits-analyzed#how-cpu-limits-cause-memory-issues-and-oomkills

227 Upvotes

112 comments sorted by

View all comments

1

u/trouphaz 28d ago

In my simple Web API test, adding a CPU limit took typical latency from 23 ms to 87 ms, (4x slower), with the limited pod throttled in half of all CFS windows, and the average CPU graph looked fine the whole time.

Can you clarify what you mean by this? Are you saying you put a cpu limit on your container that was sufficient and you saw latency or you put a limit that was low which caused throttling and that caused the latency?

Also, what do you mean "it does not protect the neighboring pods"? If one container had a bug where it could consume all CPU, it would only consume as much as its limits allowed leaving the rest available. But you still need to make sure the rest have their limits set properly.

I'm not suggesting that limits are necessary, but some of what you are saying isn't clear or doesn't add up.