One Ruby web application. Sinatra and Rack, just under 300 lines. SQLite, almost no DB access.
# passenger-memory-stats
-------------- Apache processes --------------
PID PPID Threads VMSize Private Name
----------------------------------------------
2654 1 1 242.0 MB 0.0 MB /usr/sbin/apache2 -k start
2102 2654 1 363.0 MB 4.3 MB /usr/sbin/apache2 -k start
2135 2654 1 372.0 MB 5.0 MB /usr/sbin/apache2 -k start
9454 2654 1 367.1 MB 4.9 MB /usr/sbin/apache2 -k start
10339 2654 1 364.0 MB 3.8 MB /usr/sbin/apache2 -k start
10396 2654 1 363.7 MB 15.7 MB /usr/sbin/apache2 -k start
12279 2654 1 378.5 MB 6.5 MB /usr/sbin/apache2 -k start
12280 2654 1 362.4 MB 6.3 MB /usr/sbin/apache2 -k start
13714 2654 1 359.3 MB 5.4 MB /usr/sbin/apache2 -k start
16431 2654 1 242.0 MB 0.2 MB /usr/sbin/apache2 -k start
16433 2654 1 242.0 MB 0.4 MB /usr/sbin/apache2 -k start
### Processes: 11
### Total private dirty RSS: 52.48 MB
--------- Passenger processes ----------
PID Threads VMSize Private Name
----------------------------------------
2097 13 143.7 MB 0.2 MB /usr/lib/ruby/gems/1.8/gems/passenger-2.0.2/ext/apache2/ApplicationPoolServerExecutable 0 /usr/lib/ruby/gems/1.8/gems/passenger-2.0.2/bin/passenger-spawn-server /usr/bin/ruby1.8 /tmp/passenger_status.2654.fifo
2098 2 51.1 MB 1.5 MB Passenger spawn server
16438 1 120.3 MB 20.5 MB Rack: /webapps/AppOne
16440 1 120.3 MB 40.2 MB Rack: /webapps/AppOne
What a fucking joke.

9 Comments
Write a patch, make it better, use something else. You didn’t pay anything for it, so whatever you do, don’t complain.
Use Ruby Enterprise Edition. It’s going to save you a lot of memory. That’s what REE was made for in the first place.
Okay, I’m a little confused here - are you concerned over the size of the apache processes or the size of the actually app?
300 lines of leak. FAIL
Looks like the classic id-10-t error.
Why not complain? Especially when it’s simply to point out a fact? Maybe it’ll encourage someone else to try to fix it. I don’t agree with the premise that just because something’s free, you’re not allowed to point out anything bad about it.
http://www.newegg.com/Product/Product.aspx?Item=N82E16820134046
Ah yes, I’ll get right to driving to my VPS provider two time zones to the left and ask them to manually install an arbitrary manufacturer’s RAM so my threads can balloon into even more memory they shouldn’t be using.
I don’t get it. What’s the point? Are your apps using too much memory? You are doing something wrong. Or Sinatra is. I don’t know. Mine don’t.
One Trackback
[...] Ardekantur A blog about computer science, Ruby, .NET, and other fun things on the edge of software engineering. My Projects Subscribe to RSS « Seriously Reconsidering My Dedication to Ruby [...]