[rabbitmq-discuss] queue_procs question

Simon MacMullen simon at rabbitmq.com
Wed May 14 09:05:07 BST 2014


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.

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 :-)

Cheers, Simon

On 13/05/2014 17:31, Sean Allen wrote:
> I'm trying to understand what I'm seeing with memory usage in our cluster.
>
> We have a mirrored queue that we sometimes have large amounts of
> publishes come in during a relatively short period of time. (Say 2
> million messages during 5-10 minutes)
>
> While we are publishing, memory usage on both the primary and mirrored
> nodes rises greatly. Almost all the memory used is queue_procs and
> binary. Once publishing ceases, the primary node returns to an amount of
> memory usage in line with the message size (whereas during publishing
> its 5 times or so what you would expect just based on message size).
>
> The mirrored queue trails behind in terms of memory usage dropping but
> eventually levels out to similar usage some time later (couple hours later).
>
> If I turn off the consumer of the queue, the memory still stabilizes
> eventually.
>
> This has led us to believe that the queue_procs and binary memory usage
> is related to publishing and to moving data to the mirror on the other
> node. Is that a reasonable assumption?



More information about the rabbitmq-discuss mailing list