Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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
share|improve this question

2 Answers 2

Use mod_status with ExtendedStatus On and see what that specific PID is doing.

share|improve this answer

pmap -x pidofprocess

You can kill an apache child, but, that isn't a great solution. Are you also running with mod_php? mpm-prefork?

share|improve this answer
    
pmap just shows one large anonymous allocation. No clue there. –  Malcolm Box Sep 20 '10 at 10:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.