Thread: Strange memory behavior with rails - caching in connection?

Strange memory behavior with rails - caching in connection?

From
Alex
Date:
I am using Postgres with Rails.  Each rails application "thread" is
actually a separate process (mongrel) with it's own connection.

Normally, the db connection processes (?) look something like this in
top:

15772 postgres  15   0  229m  13m  12m S    0  0.8   0:00.09 postgres:
db db [local]
idle

These quickly grow as the application is used to 50+ Mb per instance.

When I restart mongrel (the Rails application processes) these go back
down to their normal small size.  That makes me suspect this is not
normal caching and there is some sort of unhealthy leak going on.

Is there something Rails could be doing to cause these to grow?  Maybe
the connection is not being cleaned up properly?  Is there some sort
of connection cache going on?



Re: Strange memory behavior with rails - caching in connection?

From
Scott Marlowe
Date:
On Wed, Jul 15, 2009 at 2:44 AM, Alex<alex@liivid.com> wrote:
> I am using Postgres with Rails.  Each rails application "thread" is
> actually a separate process (mongrel) with it's own connection.
>
> Normally, the db connection processes (?) look something like this in
> top:
>
> 15772 postgres  15   0  229m  13m  12m S    0  0.8   0:00.09 postgres:
> db db [local]
> idle
>
> These quickly grow as the application is used to 50+ Mb per instance.
>
> When I restart mongrel (the Rails application processes) these go back
> down to their normal small size.  That makes me suspect this is not
> normal caching and there is some sort of unhealthy leak going on.
>
> Is there something Rails could be doing to cause these to grow?  Maybe
> the connection is not being cleaned up properly?  Is there some sort
> of connection cache going on?


no, most likely the issue is that top is showing you how much
shared_buffers the process has touched over time and it's nothing.
Show us what you see when you think things are going bad.