Re: Much larger old_heap than heap

Dan Gudmundsson <[email protected]>
Newsgroups gmane.comp.lang.erlang.general
Message-ID <CANX4uuOAW1nX3Fr23vN9n1z9ahWrfFc9e=Qw-zNqR5h4QbkR0Q@mail.gmail.com>
You said in the first mail, that you had done a garbage collect,
at least I assumed that you erlang:garbage_collect() which does a full
sweep,
and after that you should only have live data left?


On Thu, Mar 18, 2021 at 7:13 PM Loïc Hoguin <[email protected]> wrote:

> Hello,
>
> I was able to dig deeper today. It's not that there was living data
> (first thing I checked of course). It's that the process was processing
> so much data that the old heap quickly gets full of no longer useful
> data. It sits long enough in memory to make it to old heap, but not very
> long in the grand scheme of things.
>
> Setting fullsweep_after to 0 reduces the heap size by 2-10 times
> depending on the current state size.
>
> Cheers,
>
> On 18/03/2021 18:56, Björn-Egil Dahlberg wrote:
> > Ehum?
> >
> > total_heap_size = heap_size + old_heap_size. Meaning 1st gen heap + 2nd
> > gen heap. So total_heap_size /should/ be equal, or more probable, higher
> > than the heap_size.
> >
> > The reason you don't see that it shrinks during a garbage collect is ofc
> > that there's still living data on the heap.
> >
> > Den ons 17 mars 2021 kl 21:53 skrev Loïc Hoguin <[email protected]
> > <mailto:[email protected]>>:
> >
> >     Hello,
> >
> >     I am trying to understand why the total_heap_size of a few processes
> >     is so much higher than heap_size. As can be seen in the following
> >     snippet, the old_heap is responsible for the discrepancy:
> >
> >      > erlang:process_info(QPid, garbage_collection_info).
> >     {garbage_collection_info,[{old_heap_block_size,1439468},
> >                                {heap_block_size,196650},
> >                                {mbuf_size,289},
> >                                {recent_size,11674},
> >                                {stack_size,35},
> >                                {old_heap_size,940791},
> >                                {heap_size,86028},
> >                                {bin_vheap_size,36483},
> >                                {bin_vheap_block_size,46422},
> >                                {bin_old_vheap_size,34148},
> >                                {bin_old_vheap_block_size,46422}]}
> >
> >     Why?
> >
> >     How can I reduce this? Garbage collecting does nothing.
> >
> >     Cheers,
> >
> >     --
> >     Loïc Hoguin
> >
>
> --
> Loïc Hoguin
> https://ninenines.eu
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.