<DIV>If the&nbsp;producer&nbsp;sends plenty of messages constantly over the memory&nbsp;throttling,and couldn't stop, where these messages is? stay on the side of producer? in this case, i think&nbsp;the producer would crash out of memory.</DIV>
<DIV>&nbsp;</DIV>
<DIV>&gt;Hagbard,<BR><BR>&gt;Since 2.x, RabbitMQ will no longer allow the Erlang process to run out <BR>&gt;of memory and stop due to fast producers and slow consumers.<BR><BR>&gt;If you have a fast producer running constantly, accompanied by a slow <BR>&gt;consumer then the number of queued messages will grow. To prevent this <BR>&gt;from causing out of memory problems, Rabbit will throttle the producer <BR>&gt;once the memory high watermark is hit.<BR><BR>&gt;The throttling works by simply blocking the producer from sending any <BR>&gt;more data over the TCP socket. Once memory drops below the high <BR>&gt;watermark, due to the consumer catching up or messages being flushed to <BR>&gt;disk, the producer can send data again.<BR><BR>&gt;Note that your producer might bounce off the watermark frequently if it <BR>&gt;just keeps publishing without let up.<BR><BR>Rob<BR><BR>&gt;&gt;<A href="mailto:Hagbard@gmx.de" target=_blank><FONT color=#4b4632>Hagbard@gmx.<WBR>de</FONT></A> wrote:<BR>&gt;&gt; Hi,<BR>&gt;&gt; im new to RabbitMQ and i have a question about the memory usage of RabbitMQ. I read that since RabbitMQ 2.x i don't need to care about fast producers and slow consumers and so don't need to care about the amount of messages in a queue and memory usage. After a test yesterday with 2GB memory and 4M messages in a queue (no consumer) RabbitMQ reached high memory watermark and stopped. Can somebody explain that behaviour?<BR>&gt;&gt;<BR>&gt;&gt; Thanks a lot<BR>&gt;&gt; Hagbard<BR></DIV>