Uh, what?
On a single-app box with real traffic (as the article implies), look first to CPU. If your average request spends 50% time in db/services and 50% time in processing/render, using more than 2-3 passenger procs per core (i.e. 100% core utilization) is less efficient and a waste of memory. Multiply by cores. (Back off a bit for db on the same machine.)
You want plenty of spare memory for OS cache, to keep your code and static files in memory -- that is, your disk reads should be zero.
And don't do swap, kids.