
It is roughly stable, but with a minor caveat: From outside memory usage / RSS for apps built with Go 1.12+ can look like a memory leak… In February the Go team released 1.12 version of Go and it is not an exception to this rule either, Three months code freeze gives a lot of time for documenting, testing, benchmarking and fixing bugs.Īs a result, at work and in the open source projects I maintain, we usually upgrade our Go version soon(-ish) after release with no fear. Go has a strict release timeline to reduce the risk This is especially visible inside a container. This does not mean that they require more memory, it’s just optimization for cases where there is no other memory TL DR: Applications build with Go 1.12+ reports higher RSS memory usage on Linux.


Still applies in terms of how to monitor memory consumption, although we should see less memory cached by Go runtime. EDIT (2020.12.13): From Go 1.16, Go on Linux moves back to using MADV_DONTNEED when releasing memory.
