我在保持RabbitMQ方面遇到了一些麻烦。
我通过提供的启动它/etc/init.d/rabbitmq-server start
,它启动正常。status
表示没事。
但是过了一会儿,服务器死了。status
印刷
Error: unable to connect to node 'rabbit@myserver': nodedown
检查日志文件,看来我已经达到内存阈值。以下是日志:
# start
=INFO REPORT==== 26-Mar-2014::03:24:13 ===
Limiting to approx 924 file handles (829 sockets)
=INFO REPORT==== 26-Mar-2014::03:24:13 ===
Memory limit set to 723MB of 1807MB total.
=INFO REPORT==== 26-Mar-2014::03:24:13 ===
Disk free limit set to 953MB
=INFO REPORT==== 26-Mar-2014::03:24:13 ===
Management plugin upgraded statistics to fine.
=INFO REPORT==== 26-Mar-2014::03:24:13 ===
msg_store_transient: using rabbit_msg_store_ets_index to provide index
=INFO REPORT==== 26-Mar-2014::03:24:13 ===
msg_store_persistent: using rabbit_msg_store_ets_index to provide index
=WARNING REPORT==== 26-Mar-2014::03:24:13 ===
msg_store_persistent: rebuilding indices from scratch
=INFO REPORT==== 26-Mar-2014::03:24:27 ===
started TCP Listener on [::]:5672
=INFO REPORT==== 26-Mar-2014::03:24:27 ===
Management agent started.
=INFO REPORT==== 26-Mar-2014::03:24:27 ===
Management plugin started. Port: 55672, path: /
=INFO REPORT==== 26-Mar-2014::03:24:39 ===
accepting AMQP connection <0.1999.0> (127.0.0.1:34788 -> 127.0.0.1:5672)
=WARNING REPORT==== 26-Mar-2014::03:24:40 ===
closing AMQP connection <0.1999.0> (127.0.0.1:34788 -> 127.0.0.1:5672):
connection_closed_abruptly
=INFO REPORT==== 26-Mar-2014::03:24:42 ===
accepting AMQP connection <0.2035.0> (127.0.0.1:34791 -> 127.0.0.1:5672)
=INFO REPORT==== 26-Mar-2014::03:24:46 ===
accepting AMQP connection <0.2072.0> (127.0.0.1:34792 -> 127.0.0.1:5672)
=INFO REPORT==== 26-Mar-2014::03:25:19 ===
vm_memory_high_watermark set. Memory used:768651448 allowed:758279372
=INFO REPORT==== 26-Mar-2014::03:25:19 ===
alarm_handler: {set,{{resource_limit,memory,'rabbit@myserver'},
[]}}
=INFO REPORT==== 26-Mar-2014::03:25:48 ===
Statistics database started.
# server dies here
我似乎已经达到内存阈值,但是阅读文档,它不应该关闭服务器吗?只是在释放一些内存之前阻止发布?
是的,我知道我的芹菜工人是内存使用量的原因,我只是以为RabbitMQ可以正确处理它,而这似乎是文档暗示的。所以我做错了什么?
编辑:重构了我的任务,因此它的消息只是一个字符串(最多15个字符)。似乎没有什么不同。
我尝试启动RabbitMQ和celery worker --purge
,没有任何事件触发任务,但是RabbitMQ的内存使用率似乎仍稳步上升到40%。然后不久后崩溃。它崩溃了,我的所有任务都没有运行的机会。
将RabbitMQ更新到官方的稳定版本可以解决此问题。Ubuntu 12.04存储库中的RabbitMQ软件包确实很旧。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句