Rack processes taking over CPU under Passenger
- by pjmorse
I have a Spree site running the following stack:
Nginx 1.0.8
Passenger 3.0.9
Ruby 1.9.2-p290
Rack 1.3.6
Rails 3.1.4
Spree 0.70.5
I recently upgraded from Spree 0.70.3, which also brought a Deface upgrade from 0.7.x to 0.8.0. Since then things have been very unstable.
Recently we've seen some CPU-hogging processes which drive load up on the server and grind the whole thing to a stop. They're Rack processes and it looks like Passenger is starting them; they're owned by the site-runner user, an unprivileged user who owns the application code. (Passenger automatically runs the site code as the user who owns it.) If I restart Nginx and kill the runaway processes, it helps for a while, but eventually similar processes return and bog things down again.
How can I figure out what's starting these processes, what they're trying to do, and how to stop them?