I've read somewhere that Go's GC that normally uses 25% of the GOMAXPROCS threads. Now which means if we run containers on a 32-core machine, and have CPULimit of 2cores, Go might use up all CPU for GC itself!
And in the case compute intensive workloads, it makes sense to explore setting the number of GOMAXPROCS to the cpu limits which can be done automatically using: https://github.com/uber-go/automaxprocs
I've read somewhere that Go's GC that normally uses 25% of the GOMAXPROCS threads. Now which means if we run containers on a 32-core machine, and have CPULimit of 2cores, Go might use up all CPU for GC itself!
And in the case compute intensive workloads, it makes sense to explore setting the number of GOMAXPROCS to the cpu limits which can be done automatically using: https://github.com/uber-go/automaxprocs