2011-03-28 14 views
6

He estado felizmente ejecutando apio + rabbitmq + django durante un mes más o menos en producción. Ayer, decidí actualizar de apio 2.1.4 a 2.2.4 y ahora rabbitmq está girando fuera de control. Después de funcionar por un tiempo, evcam ya no reconoce mis nodos, y los consumos de memoria de beam.smp comienzan a aumentar ... lentamente (100 +% de uso de CPU).rabbitmq + fuga de memoria de apio?

Puedo ejecutar rabbitmqctl list_connections y ver que no haya nada inusual (solo mi único nodo de prueba). Puedo ver en rabbitmqctl list_queues -p <VHOST> que no hay mensajes, excepto el latido de mi nodo de prueba. Si dejo que el proceso siga funcionando durante un par de horas, se maximiza la máquina.

He intentado depurar las varias colas usando camqadm inútilmente y stop_app simplemente cuelga. La única forma que he encontrado para 'arreglarlo' es kill -9 beam.smp (y todos los procesos relacionados) y force_reset en mi servidor rabbitmq.

No tengo ni idea de cómo proceder para depurar esto. No parece haber nada sospechoso en cuanto a nuevos mensajes, etc. ¿Alguien se ha enfrentado a esto antes? ¿Algunas ideas? ¿Qué otra información debería estar mirando?

+0

¿Se ha comprado RabbitMQ así? Tenía síntomas similares con 2.2.x, por lo que bajamos de categoría a RabbitMQ 2.1.1 y no tuvimos problemas. – asksol

+0

Bajé a 2.1.1 y el problema desapareció. ¿Alguna idea de por qué? – Bacon

+0

¿Qué versión estaba ejecutando cuando tuvo los síntomas? – asksol

Respuesta

4

El desarrollador de apio me dijo hace 3 meses que las versiones de RabbitMQ después de la 2.1.1 se vieron afectadas por la pérdida de memoria, con cpu picos. Todavía estoy usando la versión 2.1.1 y no tener este problema

http://www.rabbitmq.com/releases/rabbitmq-server/v2.1.1/

también es cierto que la versión 2.2.4 de apio introdujo algunos problemas de memoria, pero si actualizar a 2.2 apio .5 la mayoría de ellos están resueltos.

http://docs.celeryproject.org/en/v2.2.5/changelog.html#fixes

espero que esto podría ayudar a

1

no puede ser útil, pero recientemente nos ubicaron una pérdida de memoria en la máquina virtual de Java relacionados con las extensiones que se utilizan para supervisar la recolección de basura. Es posible que su monitor de latido active estos métodos, lo que da como resultado una pérdida de memoria nativa.

El problema se describe aquí: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7066129