Why runtime force gc every 2 minutes?, https://github.com/golang/go/blob/016e6ebb4264f4b46e505bb404953cdb410f63f2/src/runtime/proc.go#L5226
AFAIK gc will be triggered when user try to allocate memory (the mallocgc func)
and if user want to force gc every 2 minutes, they can create their own goroutine to call runtime.GC() every 2 minute
the problem with it, when you have a large live heap but with efficient code (most of the hot code is zero alloc), the runtime will be wasting CPU time every 2 minutes just to find out that there is no garbage to collect