[Mongrel] Mongrel and memory usage

Kirk Haines wyhaines at gmail.com
Mon Nov 5 11:18:51 EST 2007

On 11/5/07, Thomas Balthazar <thomas.tmp at gmail.com> wrote:
> Thanks for your answer.
> I'm using ruby 1.8.5 (2006-08-25) [i486-linux].
> The Rails app uses those plugins :
> * acts_as_taggable_on_steroids
> * attachment_fu
> * exception_notification
> * localization
> Which kink of issues with my code could use that much memory?
> If I load lots of records with Active Records, aren't they "unloaded" at
> some times?

Does your code or any of those pluginx use Array#shift?  There was a
bug with Array#shift which still existed in 1.8.5 which basically left
stuff inside the array data structure after a shift, so that those
things didn't get GCd when they should have.  It's a sneaky bug that
can easily eat a lot of memory.

Otherwise, can you start a test instance of your application, and then
test it to see if there are certain actions which cause the memory
growth.  That would help you pinpoint where the likely problems are.
Just use ab or httperf to send a large number of requests to specific
urls in your app, and see how ram usage changes as you do that.

Kirk Haines

More information about the Mongrel-users mailing list