<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>I have also zero swappiness:</p>
    <p> cat /proc/sys/vm/swappiness<br>
      0<br>
    </p>
    <p>so I expect that RSS shows total memory used.</p>
    <div class="moz-cite-prefix">On 31.01.2020 20:23, Vyacheslav
      Levytskyy wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:e238320f-37eb-299a-c2b7-4f8040d72e97@yahoo.com">
      <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
      <p>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").<br>
      </p>
      <div class="moz-cite-prefix">On 31.01.2020 19:59, Jesper Louis
        Andersen wrote:<br>
      </div>
      <blockquote type="cite"
cite="mid:CAGrdgiWO=rhZ5iC6vVV+N1xt67nPwH=Lr4het9te=yBLCrZtXw@mail.gmail.com">
        <meta http-equiv="content-type" content="text/html;
          charset=UTF-8">
        <div dir="ltr">
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif">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.</div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif"><br>
          </div>
          <div class="gmail_default"
            style="font-family:arial,helvetica,sans-serif">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.</div>
        </div>
        <br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Fri, Jan 31, 2020 at 7:22
            PM Vyacheslav Levytskyy <<a
              href="mailto:v.levytskyy@yahoo.com" moz-do-not-send="true">v.levytskyy@yahoo.com</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 wonder why memory used by Erlang VM as reported by the
            kernel via the <br>
            /proc/pid differs from erlang:memory(total). In my current
            configuration <br>
            I observe realistic response from erlang:memory(total) and
            much lower <br>
            values from the /proc/pid.<br>
            <br>
            I'm not surprised by the difference itself, but rather by
            the fact that <br>
            the /proc/pid gives unrealistically lower values -- I'm not
            100% sure, <br>
            but it looks like RabbitMQ is using the /proc/pid approach
            by default, <br>
            proposing also recon_alloc:memory(allocated) and
            erlang:memory(total) as <br>
            available options of Erlang VM memory consumption
            calculation strategy.<br>
            <br>
            Does anybody have insights of what and why is going on with
            those <br>
            calculations of memory used by Erlang VM? Is it possible to
            select one <br>
            strategy beforehand for my Erlang app, or I must measure on
            each new <br>
            configuration what looks more precise? Should I compare and
            change the <br>
            strategy during run-time, or after I selected a strategy
            once for my <br>
            configuration I can be sure that selected approach always
            better than <br>
            other two?<br>
            <br>
            Thank you,<br>
            Vyacheslav<br>
          </blockquote>
        </div>
        <br clear="all">
        <div><br>
        </div>
        -- <br>
        <div dir="ltr" class="gmail_signature">J.</div>
      </blockquote>
    </blockquote>
  </body>
</html>