Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
RabbitMQ消耗内存并关闭_Rabbitmq_Openstack_Fedora20 - Fatal编程技术网

RabbitMQ消耗内存并关闭

RabbitMQ消耗内存并关闭,rabbitmq,openstack,fedora20,Rabbitmq,Openstack,Fedora20,我刚刚使用devstack安装了OpenStack Juno,并观察到RabbitMQ(由yum安装的RabbitMQ-server-3.1.5-10包)不稳定,即它会很快占用内存并关闭;内存为2G。以下是来自日志和“systemctl status”的消息,这些消息在守护进程死亡之前出现: =INFO REPORT==== 18-Dec-2014::01:25:40 === vm_memory_high_watermark clear. Memory used:835116352 allowe

我刚刚使用devstack安装了OpenStack Juno,并观察到RabbitMQ(由yum安装的RabbitMQ-server-3.1.5-10包)不稳定,即它会很快占用内存并关闭;内存为2G。以下是来自日志和“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.
=信息报告===2014年12月18日::01:25:40===
vm\u内存\u高\u水印清除。使用的内存:835116352允许的内存:835212083
=警告报告===2014年12月18日::01:25:40===
节点上的内存资源限制警报已清除rabbit@node
=信息报告===2014年12月18日::01:25:40===
接受AMQP连接(10.0.0.11:55198->10.0.0.11:5672)
=信息报告===2014年12月18日::01:25:41===
vm\u内存\u高\u水印集。使用的内存:850213192允许的内存:835212083
=警告报告===2014年12月18日::01:25:41===
节点上设置的内存资源限制警报rabbit@node.
**********************************************************
***发布服务器将被阻止,直到此警报清除***
**********************************************************
rabbitmqctl[770]:===========
rabbitmqctl[770]:有问题的节点:[rabbit@node]
rabbitmqctl[770]:主机及其运行节点和端口:
rabbitmqctl[770]:-节点:[{RabbitMQCTL77040089}]
rabbitmqctl[770]:当前节点详细信息:
rabbitmqctl[770]:-节点名称:rabbitmqctl770@node
rabbitmqctl[770]:-home dir:/var/lib/rabbitmq
rabbitmqctl[770]:-cookie散列:FftrRFUESg4RKWsyb1cPqw==
systemd[1]:rabbitmq-server.service:控制进程已退出,代码=退出状态=2
systemd[1]:单元rabbitmq-server.service进入失败状态。
我知道设置虚拟内存高水印,但它并不能解决这个问题。我想确保守护进程不会突然关闭。我想知道是否有人看到过这一点,并能提出建议

谢谢

更新


升级到版本3.4.2,直接从www.rabbitmq.com/download.html获取。新版本不需要那么快的内存消耗,并且比以前的版本工作时间更长,但最终还是会耗尽所有内存并关闭。

我认为服务器中的连接数量正在增加,并且它们在不关闭的情况下保持不变,这就是它消耗更多内存的原因。当RAM的使用量增加超过水印时,rabbitmq服务器将不接受任何网络请求。要么关闭所有打开的连接,要么增加系统的RAM。但增加RAM只会在一段时间内减少问题,但您将再次面临问题。最好关闭连接。

尝试使用CloudAMQP,而不是在本地安装。这个问题到时候会解决的。首先在此处创建rabbitMQ帐户。
然后在那里创建队列并与应用程序连接。

问题很可能是其中一个OpenStack服务没有正确地使用消息并将它们无限地堆积起来。即使在一个大的Openstack集群上,队列也很少会超过1-10条消息。@eandersson,谢谢您的评论。您能告诉我们如何检查服务是否适当地处理/使用消息吗?我应该在日志中查找什么日志消息模式?除了在任何Openstack服务中查找明显的错误消息外,很难看到使用日志。最简单的方法可能是使用RabbitMQ管理页面查找哪个队列(属于哪个服务)正在排队(most)消息@eandersson,我启用了rabbitmq管理插件,重新启动rabbitmq并在打开管理页面,然后单击“队列”选项卡,但是它有0个计数器,并且不显示任何未确认的消息。看起来它运行正常。同时,控制器上的RabbitMQ守护进程仍然会增加内存消耗,因此我预计它很快就会停止。老实说,听起来您没有足够的专用内存。根据我的经验,Rabbit不会使用很多内存,但是如果你看到很多流量,它会使用它公平的内存份额。我通常不会运行小于4GB的devstack。