[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 Radestock matthias at lshift.net
Tue Jan 26 19:32:33 GMT 2010


John,

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 
memory.

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 
> resume.
> /
> 
> 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


Regards,

Matthias.




More information about the rabbitmq-discuss mailing list