Lidando com aumento de memória RAM no RabbitMQ
O RabbitMQ gosta muito de usar memória RAM. Esse é um dos motivos do da entrada de dados no broker ser extremamente rápida, muito mais rápida que a entrada de dados em um banco de dados SQL, por exemplo.
Uma das desvantagens é: a memória RAM pode acabar.
Como aumentar a memória RAM disponível no RabbitMQ?
Por padrão o RabbitMQ aloca 40% da memória RAM disponível no computador.
É possível aumentar esse limite inserindo o seguinte no arquivo de configuração rabbitmq.conf:
# Aumentando para 70%vm_memory_high_watermark.relative = 0.7
Essa mudança só acontecerá quando o RabbitMQ for reiniciado. Para mudar instantaneamente, digite:
rabbitmqctl set_vm_memory_high_watermark 0.7
Nota: se você não alterar o limite também no rabbitmq.conf o limite de memória voltará a ser 40% após o RabbitMQ ser reiniciado.
O que no RabbitMQ está consumindo a memória RAM?
Se a gráfica de gerenciamento do RabbitMQ (rabbitmq management) estiver instalada, dê uma olhada aqui:
Referências
Documentação oficial RabbitMQ - Alarmes de Memória
https://www.rabbitmq.com/memory.html
Documentação oficial RabbitMQ - Uso de Memória
https://www.rabbitmq.com/memory-use.html
Understanding Memory Use
https://www.rabbitmq.com/blog/2014/10/30/understanding-memory-use-with-rabbitmq-3-4/
Connections, Channels e Queues entrando em modo Flow
https://www.rabbitmq.com/flow-control.html
Descobrindo gargalos no RabbitMQ
https://www.rabbitmq.com/blog/2014/04/14/finding-bottlenecks-with-rabbitmq-3-3/
Memória crescendo no RabbitMQ
https://stackoverflow.com/questions/44435097/rabbitmq-binary-memory-consumption
Memória crescendo no RabbitMQ 2
https://stackoverflow.com/questions/44614033/why-binary-memory-usage-grows-up-on-rabbitmq