Thank you for your answer, I now understand a bit better what is going on.
On Sun, Oct 16, 2016 at 7:56 PM, andrey mirtchovski <mirtchov...@gmail.com>
> > Here some pprof result using go 1.7.1 first and tip later:
> If I understand you correctly, you still have questions about memory
> management, but the nature of the question has changed from "why does
> this function keep increasing memory consumption" to "why does my
> program consume so much memory"? I think the former was answered. The
> latter boils down to the nature of Go memory management.
> A variable called GOGC controls when the next collection will begin.
> "A collection is triggered when the ratio of freshly allocated data to
> live data remaining after the previous collection reaches this
> percentage." GOGC by default is 100, so you roughly double your
> used/allocated memory before you start freeing up objects. To monitor
> the collection cycles you can run your code with
> "GODEBUG=gctrace=1" (see link at bottom for documentation).
> Go normally does not return all deallocated memory to the host
> immediately after deallocation. That would not be very efficient.
> Instead, scavenging happens on certain intervals. gctrace=1 will
> output information about that too, the documentation of the format is
> again at the link at the bottom.
> 1: https://golang.org/pkg/runtime/
Raffaele Di Fazio
You received this message because you are subscribed to the Google Groups
To unsubscribe from this group and stop receiving emails from it, send an email
For more options, visit https://groups.google.com/d/optout.