[Mongrel] Mongrel and memory usage

Steve Midgley public at misuse.org
Mon Nov 5 13:05:00 EST 2007


At 09:17 AM 11/5/2007, you wrote:
> > 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

Thanks Kirk - I guess I'm totally OT at this point, but I hadn't heard 
about this bug before. From your description this is a specific problem 
to the underlying C code implementing shift, which is not found in 
related functions? So "array.slice!(0)" would be identical in function 
to shift but not contain this leak?

Thanks again,

Steve



More information about the Mongrel-users mailing list