I'm running Apache 2.2.12 with mod_wsgi, hosting a Django site. Most of the apache child processes weigh in at about 125MB RSS, but occasionally I see one child balloon to > 1GB RSS.
At this point there's usually 1 huge process (>1GB), a couple of large ones (>500MB) and the rest are still ~125MB. These are the mod_wsgi daemon processes.
I've tried using memory leak tracing in Python to see if it's the Django code, and I see no leaks. Looking in the logs doesn't show any particularly strange requests.
I'm stumped on how to figure out what's causing this – any ideas? Also, any workaround ways to kill the large apache process when it gets too big, without bringing apache down?
Some more details:
- Not using mod_php
- Using pre-fork
Best Answer
Use mod_status with ExtendedStatus On and see what that specific PID is doing.