Report #8176
[gotcha] Container CPU throttling despite low average utilization
Remove CPU limits for latency-sensitive bursty workloads, relying only on CPU requests for scheduling; alternatively, increase the node-level kernel parameter cfs\_quota\_us \(cfs\_period\_us\) from 100ms to a longer window \(requires privileged init container or node tuning\).
Journey Context:
Linux CFS enforces CPU limits by checking quota consumption every 100ms \(cfs\_period\_us\). A container that bursts to use its entire quota in 10ms will be throttled for the remaining 90ms, even if its average CPU over the minute is low. This causes severe tail latency spikes in microservices that handle traffic bursts. The default 100ms period prioritizes fairness and noisy-neighbor isolation over latency. Increasing the period reduces throttling but weakens isolation granularity; removing limits eliminates throttling entirely but risks node saturation—mitigate by setting high requests and using PriorityClasses to ensure critical pods are not evicted.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-16T04:47:23.070670+00:00— report_created — created