We recently had the problem, that the go garbage collector ran hot on a kubernetes pod and we didn’t find out why. Specs were as follows:
These things all looked good for me.
We found out that the problem was fixed by setting the memory request from 6 to 9GB.
And here comes the question: How does the GO GC even know about the requested memory? I haven't found anything in the docs or via Google. Could someone point us to the section in code?
It is nice that this behavior prevents avoidable OOMs, but it also puzzled us for a while.