Kubernetes CPU Limits Make Apps Slow and Costly: Proof and Experiments
JeremyCMorgan · x · 2026-08-21
This post shares a GitHub repo that uses reproducible experiments to demonstrate the asymmetry between CPU requests and limits in Kubernetes and the consequences. The core argument is that setting a CPU limit introduces unnecessary throttling, making applications slower and more costly, even when the node has spare capacity.
- The Mistake: Many treat CPU limits as a "headroom" version of requests, assuming a high limit is a best practice.
- The Reality: A Request is a reservation, while a Limit is a hard cap. Hitting the limit throttles the pod by the kernel, regardless of the node's overall load.
- Best Practice: Kubernetes co-founder Tim Hockin and GKE docs recommend: set requests.cpu, requests.memory, and limits.memory, but remove limits.cpu (set it to unbounded).
The repo contains explanations of cgroup/CFS, reproducible experiment scripts, and performance data to prove why the "no CPU limit" advice should be followed.
More from Infra
- Pretraining a Mini Kimi K3 on One H200 for $252: A Complete Worklog — joecole · 2026-08-21
- 130 years, 10^22x more compute per dollar: Kurzweil's graph sparks debate — Singularitarian · 2026-08-21
- Wake: macOS app unifies chat history for 13 code agents — aigclink · 2026-08-21
- Productionizing AI Apps: OpenTelemetry, On-Call Agents, and Full Observability Workflow — Al_Grigor · 2026-08-21
- LLMRouter 2.0: Unified Infrastructure for LLM Routing Dev and Eval — youjiaxuan · 2026-08-21
- Run MiniMax H3 locally on 12GB GPUs: 15-second multi-shot ComfyUI template — vortis23 · 2026-08-21