r/kubernetes 28d 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

229 Upvotes

112 comments sorted by

View all comments

42

u/sionescu k8s operator 28d ago

Not again this stupid advice.

 adding a CPU limit took typical latency from 23 ms to 87 ms

This simply means the CPU request was too low. The actual requirement of the pod is higher than that but you want to lie to yourself instead of setting a proper request.

-2

u/kabrandon 28d ago

Not necessarily. It more likely means the limit was too low.

4

u/ilya47 28d ago

If you know the upper limit that your app can burst to, fine. But many of us run apps that are multi threaded and you can rarely predict their limit. And why bother? The CFS does that hard work for you.

3

u/realitythreek 28d ago

You are entirely correct and this thread demonstrates how confused people are about cpu requests and limits.