[rabbitmq-discuss] MulticastMain Java client causes Erlang error eheap_alloc: Cannot allocate 467078560 bytes of memory (of type "heap") (with RabbitMQ 1.7.1)
matthias at lshift.net
Tue Jan 26 19:32:33 GMT 2010
John Apps wrote:
> Here are two runs, one with 0.4 and the other, below, with 0.3. Both
> crash. The rabbit.log for the 0.3 test is attached. The 0.4 test did not
> log any memory watermark messages, only the 0.3 test.
I cannot see any memory alerts in the 0.3 test log either.
The earlier 0.2 log, showed a limit of 817MB and a max value of ~1.3G.
Assuming those ratios are similar for the 0.3 case (1225MB), it would
indicate the O/S isn't happy with Rabbit asking for more than ~2GB of
Some quick googling on Erlang under Windows suggests that 2GB may in
fact be a limit imposed by some flavours of Windows. Different flavours
have different limits; somebody more familiar with Windows might be able
to provide more precise information.
I guess you'll have to stick to a limit of 0.2, or perhaps try 0.25.
> />>>That's exactly what is supposed to happen. Rabbit has told the
> producer to stop sending messages since it is under memory pressure.
> Once memory becomes available again, e.g. when a consumer consumes
> enough messages, or some queues get deleted/purged, or as a result of
> internal garbage collection, Rabbit will tell the producer that it may
> The funny thing is that rabbitmqctl status returned a 'node down'
> message. I suppose that is OK?
No, that's not ok. Presumably rabbitmqctl normally works fine, right?
Next time this happens, please do the following:
- capture & report the complete output of rabbitmqctl
- check whether the rabbit process is alive
- assuming it is, report whether it's busy or idle
- terminate the test program
- try running rabbitmqctl again and report the results
- post the complete rabbit.log and rabbit-sasl.log
More information about the rabbitmq-discuss