RabbitMQ消耗内存并关闭

时间:2014-12-18 17:35:42

标签: rabbitmq openstack fedora20

我刚刚使用devstack安装了OpenStack Juno,并观察到RabbitMQ(由yum安装的package rabbitmq-server-3.1.5-10)不稳定,即它快速占用内存并关闭;有2G的RAM。以下是守护程序死亡之前来自日志和“systemctl status”的消息:

=INFO REPORT==== 18-Dec-2014::01:25:40 ===
vm_memory_high_watermark clear. Memory used:835116352 allowed:835212083

=WARNING REPORT==== 18-Dec-2014::01:25:40 ===
memory resource limit alarm cleared on node rabbit@node

=INFO REPORT==== 18-Dec-2014::01:25:40 ===
accepting AMQP connection <0.27011.5> (10.0.0.11:55198 -> 10.0.0.11:5672)

=INFO REPORT==== 18-Dec-2014::01:25:41 ===
vm_memory_high_watermark set. Memory used:850213192 allowed:835212083

=WARNING REPORT==== 18-Dec-2014::01:25:41 ===
memory resource limit alarm set on node rabbit@node.

**********************************************************
*** Publishers will be blocked until this alarm clears ***
**********************************************************


rabbitmqctl[770]: ===========
rabbitmqctl[770]: nodes in question: [rabbit@node]
rabbitmqctl[770]: hosts, their running nodes and ports:
rabbitmqctl[770]: - node: [{rabbitmqctl770,40089}]
rabbitmqctl[770]: current node details:
rabbitmqctl[770]: - node name: rabbitmqctl770@node
rabbitmqctl[770]: - home dir: /var/lib/rabbitmq
rabbitmqctl[770]: - cookie hash: FftrRFUESg4RKWsyb1cPqw==
systemd[1]: rabbitmq-server.service: control process exited, code=exited status=2
systemd[1]: Unit rabbitmq-server.service entered failed state.

我知道set_vm_memory_high_watermark,但它没有解决问题。我想确保守护进程不会突然关闭。我想知道以前有人看过这个并且可以提出建议吗?

感谢。

更新

直接从www.rabbitmq.com/download.html升级到版本3.4.2新版本不会快速消耗RAM,并且比以前版本的工作时间更长,但最终仍会耗尽所有内存并关闭

2 个答案:

答案 0 :(得分:0)

我认为服务器中的连接数量正在增加,并且以这种方式保持连接而没有关闭,这就是它消耗更多内存的原因。当RAM的使用超出水印时,rabbitmq服务器将不接受任何网络请求。您要么必须关闭所有已打开的连接,要么必须增加系统的RAM。但是增加RAM只会减少一段时间的问题,但是您会再次遇到问题,最好关闭连接。

答案 1 :(得分:0)

尝试使用CloudAMQP而不是在本地安装。然后将解决此问题。首先在这里创建一个rabbitMQ帐户。 https://customer.cloudamqp.com/signup。 然后在此处创建队列并连接您的应用程序。