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.