[erlang-questions] What is "Abandon carrier utilization limit" for?

Roger Lipscombe roger@REDACTED
Fri Oct 13 19:33:00 CEST 2017


On 13 October 2017 at 18:05, Sverker Eriksson
<sverker.eriksson@REDACTED> wrote:
> There is actually an internal doc on this subject:
>
> https://github.com/erlang/otp/blob/master/erts/emulator/internal_doc/CarrierMigration.md

Thanks. I'll check that out.

> A carrier is a large contiguous piece of memory.
> A block a smaller contiguous piece of memory within a carrier.

I watched Lukas's presentation from 2014, so I got that part :)

> So no, moving block between carrier does not even make sense.

I guess I meant: can the VM copy the content to another block in a
"live" carrier, thus freeing up this carrier, but I guess that'd
involve updating all kinds of pointers, and that stuff happens at a
higher level in the VM, right?

>> Or is it that, once a carrier falls below the threshold, the VM tries
>> not to use it, so that it's more likely (assuming that the remaining
>> content eventually gets freed) that it'll get returned to the OS?
>
> Yes, that is the idea.

Cool.

>> Also: what is the default setting? The documentation says "de", but
>> system_info is saying "0" for all of my allocators. Is "de" choosing
>> zero for me?
>>
>>
> Hmm.... I'll be back...

OTP 20-rc2, btw; I'll try a newer build... I'll be back... :)



More information about the erlang-questions mailing list