[Mongrel] Memory leaks in my site

Philip Hallstrom mongrel at philip.pjkh.com
Tue Mar 6 14:08:32 EST 2007


> The application I have in development that restarts every few days has
> the following plugins.
> acts_as_authenticated
> acts_as_rateable
> arts
> assert_select
> authorization
> browser_filters
> custom-err-msg
> debug_view_helper
> exception_notification
> flex_image

flex_image uses rmagick... which folks have lots of issues with...

> paginating_find
> rails_rcov
> responsible_markup
> simple_http_auth
> timed_fragment_cache
> white_list
>
> I ran the tests with and without GC.start in the controller.
> GC.start kicked off in the production application when I do a send_data call.
>
>
>
>
> On 3/6/07, Carl Lerche <carl.lerche at gmail.com> wrote:
>> Did you try adding GC.start in your application?
>>
>> On 3/6/07, Joey Geiger <jgeiger at gmail.com> wrote:
>>> I've got issues with my rails application leaking memory as well. I
>>> can say it's not Mongrel's fault, as I was able to duplicate the
>>> situation in Webbrick.
>>>
>>> My problem happens because I'm using monit to make sure my site stays
>>> up, but in doing so, monit hits each of my mongrels every minute. I
>>> thought the memory issues had to do with images, send_data or
>>> something else, and what I found, is that on a site that does nothing
>>> but respond to this monit controller, the memory grew and grew.
>>>
>>> I'm guessing it has to do with the plugins I'm using, as when I tried
>>> the same thing on a fresh rails application, the memory grew, but
>>> capped off at about 35MB, where the full application loading all
>>> plugins continued to grow until I killed it, never recovering memory.
>>>
>>> So, for now, monit is the cause and solution to my memory problems. I
>>> was thinking about trying to create a handler for mongrel that monit
>>> can hit to verify that it's running, but then there's the possibility
>>> that mongrel is up, but my application is down.
>>>
>>> My other issue with using monit are the constant hits to the log
>>> files, which logger.silence doesn't help (at least the methods I've
>>> tried) If someone knows how to silence a controller completely, I'd
>>> love to know.
>>>
>>> Right now I'm a bit busy, but I think it would be a good test to add
>>> my plugins one at a time to a fresh application and check the memory
>>> usage after hitting it with a few thousand hits from apache bench.
>>>
>>>
>>> On 3/6/07, Ken Wei <2828628 at gmail.com> wrote:
>>>> 'gem cleanup' i did that, but still
>>>>
>>>> _______________________________________________
>>>> Mongrel-users mailing list
>>>> Mongrel-users at rubyforge.org
>>>> http://rubyforge.org/mailman/listinfo/mongrel-users
>>>>
>>> _______________________________________________
>>> Mongrel-users mailing list
>>> Mongrel-users at rubyforge.org
>>> http://rubyforge.org/mailman/listinfo/mongrel-users
>>>
>>
>>
>> --
>> EPA Rating: 3000 Lines of Code / Gallon (of coffee)
>> _______________________________________________
>> Mongrel-users mailing list
>> Mongrel-users at rubyforge.org
>> http://rubyforge.org/mailman/listinfo/mongrel-users
>>
> _______________________________________________
> Mongrel-users mailing list
> Mongrel-users at rubyforge.org
> http://rubyforge.org/mailman/listinfo/mongrel-users
>


More information about the Mongrel-users mailing list