2010-07-16 3 views
0

J'ai une application Ruby qui utilise eventmachine et démarre 16 processus qui gèrent chacun 1000 connexions. Initialement, chaque processus n'utilise qu'environ 150 Mo, mais après un certain temps d'exécution, ils consomment de plus en plus vers 500 Mo et je manque de mémoire et d'échange. La quantité de connexions ouvertes (indiquée par EM.connection_count) est normale (environ 1000 tout le temps), donc il ne devrait plus y avoir de références aux anciennes connexions.Suivre la fuite de mémoire dans Ruby 1.9

Malheureusement, memprof fonctionne uniquement sous Ruby 1.8, donc ce n'est pas une option dans mon cas.

Je ne veux pas construire le ITAPPMONROBOT pour mon application juste pour que je puisse le faire fonctionner 24/7/365. Comment puis-je trouver la fuite de mémoire ici ou comment puis-je aider le GC?

Répondre