Because memory is reclaimed - the alloc is the “live” heap. TotalAlloc is a 
cumulative counter of byte allocated - bytes freed do not affect the counter. 

> On Sep 11, 2020, at 7:14 PM, Alexander Mills <alexander.d.mi...@gmail.com> 
> wrote:
> 
> 
> Well why does TotalAlloc keep climbing up (increasing) in my program, but 
> HeapAlloc remains the same?
> 
> <Screenshot from 2020-09-11 17-12-32.png>
> 
> 
> 
>> On Fri, Sep 11, 2020 at 5:06 PM Ian Lance Taylor <i...@golang.org> wrote:
>> On Fri, Sep 11, 2020 at 5:01 PM Alex Mills <a...@channelmeter.com> wrote:
>> >
>> > The explanations I find online arent very clear to me :(
>> 
>> Well, OK, but I don't know what I can say other than to repeat the
>> information from that link.
>> 
>> Alloc is bytes of allocated heap objects.
>> 
>> TotalAlloc is cumulative bytes allocated for heap objects.
>> 
>> If that is not clear, what is not clear about it?
>> 
>> Ian
>> 
>> 
>> > On Thursday, September 10, 2020 at 6:40:34 PM UTC-7 Ian Lance Taylor wrote:
>> >>
>> >> On Thu, Sep 10, 2020 at 4:39 PM Alexander Mills
>> >> <alexande...@gmail.com> wrote:
>> >> >
>> >> > I have this helper func to print memory usage (detect a memory leak?)
>> >> >
>> >> >
>> >> > func PrintMemUsage() {
>> >> > var m runtime.MemStats
>> >> > runtime.ReadMemStats(&m)
>> >> > // For info on each, see: https://golang.org/pkg/runtime/#MemStats
>> >> > fmt.Printf("Alloc = %v MiB", bToMb(m.Alloc))
>> >> > fmt.Printf("\tTotalAlloc = %v MiB", bToMb(m.TotalAlloc))
>> >> > fmt.Printf("\tSys = %v MiB", bToMb(m.Sys))
>> >> > fmt.Printf("\tNumGC = %v\n", m.NumGC)
>> >> > }
>> >> >
>> >> > I am seeing output like this:
>> >> > Alloc = 2481 MiB TotalAlloc = 24038 MiB Sys = 2752 MiB NumGC = 114
>> >> >
>> >> > what is the difference between Alloc and TotalAlloc .. ?
>> >>
>> >> The link above, after "For info on each", explains the difference. If
>> >> the explanation is unclear, tell us more.
>> >>
>> >> Ian
>> >
>> > --
>> > You received this message because you are subscribed to the Google Groups 
>> > "golang-nuts" group.
>> > To unsubscribe from this group and stop receiving emails from it, send an 
>> > email to golang-nuts+unsubscr...@googlegroups.com.
>> > To view this discussion on the web visit 
>> > https://groups.google.com/d/msgid/golang-nuts/6c889d9b-e2f1-4583-b310-8954ce456852n%40googlegroups.com.
>> 
>> -- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "golang-nuts" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/golang-nuts/zLxLN03h6LQ/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to 
>> golang-nuts+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/golang-nuts/CAOyqgcXQ4eedgwwnxT0Hg_3%2BWmjexX1NriT26U1AksEVmrW8sg%40mail.gmail.com.
> 
> 
> -- 
> Alexander D. Mills
> New cell phone # (415)730-1805
> linkedin.com/in/alexanderdmills
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/golang-nuts/CA%2BKyZp6Jrto_x533zaY5jLWMo7%2Bqa8aAsufLqwdSR1voM6pMaw%40mail.gmail.com.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/308EA873-C7EF-460A-AA87-F709A8A43993%40ix.netcom.com.

Reply via email to