memory used by Erlang VM

Vyacheslav Levytskyy v.levytskyy@REDACTED
Fri Jan 31 20:44:02 CET 2020

I have also zero swappiness:

cat /proc/sys/vm/swappiness

so I expect that RSS shows total memory used.

On 31.01.2020 20:23, Vyacheslav Levytskyy wrote:
> It's linux (ubuntu). I read /proc/[pid]/statm, take RSS number of 
> pages (the 2nd value in the line of that file) and calculate memory 
> used by Erlang VM as RSS x page size (read as "getconf PAGESIZE").
> On 31.01.2020 19:59, Jesper Louis Andersen wrote:
>> When you say /proc/pid, what are you looking at specifically in 
>> there? It is a bit different depending on which Unix you run on, so a 
>> simple example will help a lot.
>> In particular, my early guess is going to be virtual memory vs 
>> physical RSS mapping. The former can be much higher than the latter. 
>> Especially in system such as Linux, which allow overcommitting memory.
>> On Fri, Jan 31, 2020 at 7:22 PM Vyacheslav Levytskyy 
>> <v.levytskyy@REDACTED <mailto:v.levytskyy@REDACTED>> wrote:
>>     Hello,
>>     I wonder why memory used by Erlang VM as reported by the kernel
>>     via the
>>     /proc/pid differs from erlang:memory(total). In my current
>>     configuration
>>     I observe realistic response from erlang:memory(total) and much
>>     lower
>>     values from the /proc/pid.
>>     I'm not surprised by the difference itself, but rather by the
>>     fact that
>>     the /proc/pid gives unrealistically lower values -- I'm not 100%
>>     sure,
>>     but it looks like RabbitMQ is using the /proc/pid approach by
>>     default,
>>     proposing also recon_alloc:memory(allocated) and
>>     erlang:memory(total) as
>>     available options of Erlang VM memory consumption calculation
>>     strategy.
>>     Does anybody have insights of what and why is going on with those
>>     calculations of memory used by Erlang VM? Is it possible to
>>     select one
>>     strategy beforehand for my Erlang app, or I must measure on each new
>>     configuration what looks more precise? Should I compare and
>>     change the
>>     strategy during run-time, or after I selected a strategy once for my
>>     configuration I can be sure that selected approach always better
>>     than
>>     other two?
>>     Thank you,
>>     Vyacheslav
>> -- 
>> J.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the erlang-questions mailing list