<div dir="ltr"><div>Hello,</div><div><br></div><div><div class="gmail_extra"><div class="gmail_quote">On Tue, Oct 17, 2017 at 4:00 PM, Bekes, Andras G wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">








<div lang="EN-US">
<p>
</p><div class="gmail-m_-568346845619494070WordSection1">
<p class="MsoNormal">While investigating a system that transfers lots of refc binaries, I tried measuring the amount of data in the message queue of a process. I noticed that the binaries in the message queue are not always included in the result of process_info(Pid,
 binary).<br></p><p class="MsoNormal"><u></u></p>
<p class="MsoNormal">In particular, when observing the binaries, I see time intervals when each of the new messages appear in the binary list, and time intervals when the binary list stays the same regardless of new messages in the queue.</p></div></div></blockquote><div><br></div><div>erlang:process_info(Pid, binary) returns the binaries that are currently on the heap of the process. Binaries in messages that have not yet been received may or may not be part of the heap depending on internal emulator optimizations.<div><br></div><div>The message_queue_data process flag explains this a little more and also gives a way to control it to some extent.<br></div><div><br></div><div><a href="http://erlang.org/doc/man/erlang.html#process_flag_message_queue_data">http://erlang.org/doc/man/erlang.html#process_flag_message_queue_data</a><br></div><div><br></div><div>Lukas<br></div></div><div><br></div></div></div></div></div>