<div dir="ltr">Let me ask in a different way:<div><br></div><div>Why would a node use more memory in binary and queue_procs while publishing to an exchange and then have that memory drop dramatically without taking any messages off of the queue? And by dramatically I mean 5-6x less memory within a few minutes of publishing ending.</div>
<div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, May 14, 2014 at 4:05 AM, Simon MacMullen <span dir="ltr"><<a href="mailto:simon@rabbitmq.com" target="_blank">simon@rabbitmq.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I'm not quite sure what the real question is here. The queue_procs and binary memory slices will describe memory used by queues (with message bodies in 'binary' and everything else in 'queue_procs'). This is a fairly raw count according to what the Erlang VM tells us, so for example this includes memory used by unreachable objects that have not yet been GCed.<br>

<br>
So "related to publishing and to moving data to the mirror on the other node" - well, yes, those are things queues do, so they can use memory doing so. But they can do other things too, and thus might use memory for other purposes :-)<br>

<br>
Cheers, Simon<div class="HOEnZb"><div class="h5"><br>
<br>
On 13/05/2014 17:31, Sean Allen wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I'm trying to understand what I'm seeing with memory usage in our cluster.<br>
<br>
We have a mirrored queue that we sometimes have large amounts of<br>
publishes come in during a relatively short period of time. (Say 2<br>
million messages during 5-10 minutes)<br>
<br>
While we are publishing, memory usage on both the primary and mirrored<br>
nodes rises greatly. Almost all the memory used is queue_procs and<br>
binary. Once publishing ceases, the primary node returns to an amount of<br>
memory usage in line with the message size (whereas during publishing<br>
its 5 times or so what you would expect just based on message size).<br>
<br>
The mirrored queue trails behind in terms of memory usage dropping but<br>
eventually levels out to similar usage some time later (couple hours later).<br>
<br>
If I turn off the consumer of the queue, the memory still stabilizes<br>
eventually.<br>
<br>
This has led us to believe that the queue_procs and binary memory usage<br>
is related to publishing and to moving data to the mirror on the other<br>
node. Is that a reasonable assumption?<br>
</blockquote>
<br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div dir="ltr"><div><br></div>Ce n'est pas une signature<br></div>
</div>