Dev.to
7/21/2026

Container-Aware Resource Management in Go: The Problem, Go 1.25’s Fix, and What’s Still Missing
Short summary
Go 1.25 makes GOMAXPROCS container-aware by reading cgroup CPU limits at startup, fixing a long-standing issue where Go services on high-core Kubernetes nodes spawned dozens of threads competing for a small CPU quota. The runtime also dynamically re-evaluates GOMAXPROCS if pod limits change. Memory awareness for GC remains unfixed, and CPU requests without limits still default to host core count.
- •Go 1.25 reads cgroup CPU limits to set GOMAXPROCS correctly, preventing thread thrashing and throttling
- •Dynamic re-evaluation picks up Kubernetes CPU limit changes without restarts
- •Memory/GC awareness for cgroup limits is still missing; CPU requests without limits are ignored
Generated with AI, which can make mistakes.
Is this a good recommendation for you?


