One of the apache processes is huge – how can I find out why

apache-2.2djangomemory usagemod-wsgi

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.

Related Topic