0

I am running a Django app using mod_wsgi, and am trying to understand how the apache processes work.

Here is my apache httpd.conf:

<VirtualHost *:80> ServerName www.example.com ServerAlias example.com WSGIDaemonProcess example.com processes=2 threads=15 user=django1 group=django1 WSGIProcessGroup example.com WSGIScriptAlias / /path/to/django.wsgi </VirtualHost> 

I set two processes, but when I look at top, I see two processes under user django1 and two more processes under user www-data:

PID USER VIRT RES COMMAND 14035 django1 524m 350m apache2 14116 django1 499m 326m apache2 11800 root 347m 299m apache2 17486 www-data 347m 292m apache2 17689 www-data 347m 292m apache2 

Why are those www-data processes there? Am I running something else and not know it? It seems like they are wasting memory. Only the two apache2 processes for user django1 processes show any CPU load. The www-data users don't have any CPU load.

1
  • I tend to use FastCGI for a reason.. Commented Jul 24, 2011 at 23:59

1 Answer 1

1

When you use daemon mode and your Django application is therefore running in a separate process to main Apache processes, you still need the Apache parent process and at least one Apache child process. The later is what accepts requests and proxies them through to the mod_wsgi daemon processes. Read:

http://code.google.com/p/modwsgi/wiki/ProcessesAndThreading

2
  • Ok, I think I understand. Is the proxy supposed to take up so much memory though? Commented Jul 25, 2011 at 0:44
  • Are you still loading mod_python into your Apache. It leaks memory into Apache parent process on restarts so if you do a lot of restarts you will have problem. Note how the 'root' owned process is fat. That is the parent process and everytime Apache forks a child, it will inherit its resident memory size. So, make sure mod_python is disabled. Also make sure using mod_wsgi 3.X and have a read of blog.dscpl.com.au/2009/11/save-on-memory-with-modwsgi-30.html Commented Jul 25, 2011 at 3:32

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.