I'm curious if an article I found about CPU limits is still relevant today. It discusses the implications of setting CPU limits and whether they're beneficial, especially in Kubernetes setups. I'm also interested in hearing your thoughts—do you implement CPU limits in your environments, and what are your reasons for doing so or not?
5 Answers
We initially didn’t use any limits. But after running into issues with noisy neighbors, we gradually implemented limits on most of our setups. They can be quite generous though—sometimes we set them to double or triple what we request!
I tend to disagree with the stance on CPU limits as they often cause more trouble than they solve. While the article critiques memory limits, I find matching memory requests to limits is often wasteful. Instead, I recommend a 3:1 or 4:1 ratio to allow for flexibility during peaks while saving resources during idle times.
Good analogy! I think it really illustrates the points made about resource management.
Setting CPU limits is beneficial if you want specific Quality of Service (QoS) for your workloads. I typically reserve limits for CPU-heavy applications or for CI/CD runners, but for most production workloads, I find they just aren’t necessary. Interestingly, our cluster only hits about 30% CPU utilization on average.
Yes, the article is still accurate! The underlying mechanics of CPU limits haven’t really changed. In our Kubernetes trainings, we emphasize this, especially for burstable workloads, which is typical. However, if you're dealing with long-running processes that are resource-intensive, having limits can help manage them better.

any real reasons for QoS in production?