[rabbitmq-discuss] Problem when enqueuing with no delay

Michael Klishin mklishin at gopivotal.com
Wed Sep 11 12:07:17 BST 2013


Pablo Briongos:

> The Ruby app process makes the crash of the machine as it increases the RAM and SWAP memory very fast to the limit.

That's expected. With periodic timer set to 0, you have an infinite loop in your app that allocates
memory (first when you publish, then when a message is delivered). CRuby VM will *not*
release memory once it's allocated (only reuse it after GC marks it as free). With an infinite
loop, you allocate faster than GC kicks in and does its work, so at some point OS starts
swapping, and then you run out of memory.

Why do you need to publish messages in a tight loop?

> I can't see any clear messages in log about it. I setted high watermark with:
> 
> sudo rabbitmqctl set_vm_memory_high_watermark 0.9

Well, if the Ruby app crashes, RabbitMQ does not know anything about it.

MK



-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 495 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20130911/87d62256/attachment.pgp>


More information about the rabbitmq-discuss mailing list