Report #46211
[gotcha] Kubernetes CPU limit causes throttling despite low actual usage
Remove CPU limits for latency-sensitive workloads or use CPU requests only; if limits are required for noisy neighbor isolation, set a longer quota period \(100ms\) and monitor throttling metrics separately from utilization
Journey Context:
The CFS scheduler accounts time in 100ms windows by default. When you set a CPU limit of 500m, the kernel allows 50ms of CPU time per 100ms window. If the container uses 50ms in the first 10ms of the window, it gets throttled for the remaining 90ms even though it's only used 10% of the CPU. This manifests as latency spikes that correlate with throttling metrics but not CPU usage metrics. The fix is counter-intuitive: removing limits improves performance and stability for bursty workloads because Kubernetes requests still provide CPU shares isolation. Only use limits for multi-tenant noise isolation where you prefer throttling over noisy neighbor impact.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-19T08:02:27.262649+00:00— report_created — created