Dear All,<br><br>I am a newbie in rabbitmq and this is my first post in the rabbitmq community.<br><br>I am seeing a weird issue which definitely does not make sense to me. Here is the problem statement<br><br>We are running a rabbitmq server on IP1 and a simple client application on IP2. We are observing an abrupt memory consumption on the <b>client </b>end which goes on till all the messages are pumped in rabbitmq and after<br>
that memory usage remains constant. This particular situation has already led us to few OOM.<br><br>Each message pumped into RMQ is around 100 KB and there are 35000 of those. We see heap usage going up at the client end up till all the 35k messages are pumped at the server end. How can this be possible as I<br>
am reading one message at a time? How can a load on server impact the client. I did some test around this to confirm my observation. <br><br>Test1: I pumped 2000 messages Heap usage was limited to less than 1 GB at the client side.<br>
Test2: Over these 2000 messages I again started pumping few more thousand messages. Side by side client is also consuming the messages the memory usage keeps increasing at the client side till I pump messages. Once I stop heap usage remains constant.. Once again if I pump I see heap going up again and once I stop it remains constant at the current level.<br>
<br>Another observation here is that heap memory never comes down. Is JVM not able to GC these objects? What could be the possibility?<br><br>Few points to note here I am using reusable channels, Queue Consumer. I have used RabbitMQ client 2.5.1 as well as RMQ client 2.2 however there is no change in behavior.<br>
<br>Any help or pointers on these issues would be really helpful.<br><br>Thanks<br>Ashish<br>