I was able to see a memory leak on my production server so I tried a
simple test on the dev server:
The mongrel is a cluster of 4.
@users = User.find(:all)
The user model is very basic, no relationship.
class User < ActiveRecord::Base
coontrollers/application.rb is also stripped down to bare bones.
I then have a shell script that curl mytest (client/server on same
The script is looped - so essentially a single thread request.
I watch the memory usage jumped to 3.1% per mongrel_rails instance (as
expected as it warms up).
Then it starts to crawl up: in less then 2 hours, each mongrel_rails
instance are taking up 5.6% of memory.
If I stop the shell/curl script and let the system stay idle. The memory
usage is never released.
If I restart the script/curl script, memory usage starts climbing from
where it left off. (garbage collections is not happening).
Is anyone aware of any issues?
Anything else I can do to make sure its not my code? (I’ve stripped down
as much as I can).