<div dir="ltr">You said in the first mail, that you had done a garbage collect, <br>at least I assumed that you erlang:garbage_collect() which does a full sweep,<div>and after that you should only have live data left?</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Mar 18, 2021 at 7:13 PM Loïc Hoguin <<a href="mailto:essen@ninenines.eu">essen@ninenines.eu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hello,<br>
<br>
I was able to dig deeper today. It's not that there was living data <br>
(first thing I checked of course). It's that the process was processing <br>
so much data that the old heap quickly gets full of no longer useful <br>
data. It sits long enough in memory to make it to old heap, but not very <br>
long in the grand scheme of things.<br>
<br>
Setting fullsweep_after to 0 reduces the heap size by 2-10 times <br>
depending on the current state size.<br>
<br>
Cheers,<br>
<br>
On 18/03/2021 18:56, Björn-Egil Dahlberg wrote:<br>
> Ehum?<br>
> <br>
> total_heap_size = heap_size + old_heap_size. Meaning 1st gen heap + 2nd <br>
> gen heap. So total_heap_size /should/ be equal, or more probable, higher <br>
> than the heap_size.<br>
> <br>
> The reason you don't see that it shrinks during a garbage collect is ofc <br>
> that there's still living data on the heap.<br>
> <br>
> Den ons 17 mars 2021 kl 21:53 skrev Loïc Hoguin <<a href="mailto:lhoguin@vmware.com" target="_blank">lhoguin@vmware.com</a> <br>
> <mailto:<a href="mailto:lhoguin@vmware.com" target="_blank">lhoguin@vmware.com</a>>>:<br>
> <br>
>     Hello,<br>
> <br>
>     I am trying to understand why the total_heap_size of a few processes<br>
>     is so much higher than heap_size. As can be seen in the following<br>
>     snippet, the old_heap is responsible for the discrepancy:<br>
> <br>
>      > erlang:process_info(QPid, garbage_collection_info).<br>
>     {garbage_collection_info,[{old_heap_block_size,1439468},<br>
>                                {heap_block_size,196650},<br>
>                                {mbuf_size,289},<br>
>                                {recent_size,11674},<br>
>                                {stack_size,35},<br>
>                                {old_heap_size,940791},<br>
>                                {heap_size,86028},<br>
>                                {bin_vheap_size,36483},<br>
>                                {bin_vheap_block_size,46422},<br>
>                                {bin_old_vheap_size,34148},<br>
>                                {bin_old_vheap_block_size,46422}]}<br>
> <br>
>     Why?<br>
> <br>
>     How can I reduce this? Garbage collecting does nothing.<br>
> <br>
>     Cheers,<br>
> <br>
>     -- <br>
>     Loïc Hoguin<br>
> <br>
<br>
-- <br>
Loïc Hoguin<br>
<a href="https://ninenines.eu" rel="noreferrer" target="_blank">https://ninenines.eu</a><br>
</blockquote></div>