On 30 November 2010 19:32, elpaso <[email protected]> wrote:
> Hi,
>
> I need some help debugging a production site with GeoDjango and
> mod_wsgi.
>
> The problem is that a few hours after restart I always end up with 4
> processes eating up all available memory, 1 CPU core is 100% kernel
> and others are idle, apparently doing nothing.
>
> I have a traditional setup:
> * nginx serving static media + apache + mod_wsgi (latest version)
> * GeoDjango (cannot go multithread due to some c/c++ binding libs not
> being thread safe)
>
> this is the configuration:
>
> ...
> WSGIDaemonProcess ml.eu user=www-data group=www-data processes=10
> threads=1 maximum-requests=50 display-name=WSGI
> WSGIProcessGroup ml.eu
Your 'ps' output shows a lot more processes than can exist for that
daemon process definition.
If you do a complete 'stop' of Apache, do any of the processes still
exist? Ie., eliminate whether they are hanging around from an old
Apache some how.
Also set:
WSGIApplicationGroup %{GLOBAL}
to force use of main interpreter in case GeoDjango doesn't work
properly in sub interpreters and is somehow leaking memory.
Also ensure not loading mod_python in same Apache.
And ensure that not setting DEBUG to True in Django settings module.
Ideally you shouldn't use maximum-requests in a production environment.
Graham
> ...
>
> request limit to 50 doesn't help.
>
> and :
>
> <IfModule mpm_prefork_module>
> StartServers 1
> MinSpareServers 1
> MaxSpareServers 2
> MaxClients 150
> MaxRequestsPerChild 0
> </IfModule>
>
>
>
> -- htop ---
>
>
> 1 [|||||||||||||||||||||||||||||||||100.0%] Tasks: 81 total, 2
> running
> 2 [ 0.0%] Load average: 2.15
> 2.08 2.02
> 3 [ 0.0%] Uptime: 262
> days(!), 16:25:28
> 4 [ 0.0%]
> Mem[||||||||||||||||||||||||||||1044/1089MB]
> Swp[|||||||||||||| 706/2047MB]
>
> PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+
> Command
> 11240 www-data 20 0 1085M 394M 2100 S 0.0 36.2 3:30.59
> WSGI -k start
> 11243 www-data 20 0 1085M 394M 2100 R 0.6 36.2 6:27.19
> WSGI -k start
> 11242 www-data 20 0 1085M 394M 2100 S 0.0 36.2 0:00.70
> WSGI -k start
> 11241 www-data 20 0 1085M 394M 2100 S 0.0 36.2 0:00.00
> WSGI -k start
> 17276 www-data 20 0 353M 63040 12848 S 0.0 5.7 0:00.00
> WSGI -k start
> 17277 www-data 20 0 353M 63040 12848 S 0.0 5.7 0:00.00
> WSGI -k start
> 17278 www-data 20 0 353M 63040 12848 S 0.0 5.7 0:03.04
> WSGI -k start
> 17275 www-data 20 0 353M 63040 12848 S 0.0 5.7 0:01.75
> WSGI -k start
> 16371 www-data 20 0 361M 59052 5384 S 0.0 5.3 0:09.13
> WSGI -k start
> 16370 www-data 20 0 361M 59052 5384 S 0.0 5.3 0:00.07
> WSGI -k start
> 16369 www-data 20 0 361M 59052 5384 S 0.0 5.3 0:00.00
> WSGI -k start
> 16368 www-data 20 0 361M 59052 5384 S 0.0 5.3 0:05.42
> WSGI -k start
> 16869 www-data 20 0 361M 56616 5324 S 0.0 5.1 0:06.07
> WSGI -k start
> 16872 www-data 20 0 361M 56616 5324 S 0.0 5.1 0:10.67
> WSGI -k start
> 16871 www-data 20 0 361M 56616 5324 S 0.0 5.1 0:00.05
> WSGI -k start
> 16870 www-data 20 0 361M 56616 5324 S 0.0 5.1 0:00.00
> WSGI -k start
> 16809 www-data 20 0 362M 56412 5572 S 0.0 5.1 0:10.09
> WSGI -k start
> 16808 www-data 20 0 362M 56412 5572 S 0.0 5.1 0:00.06
> WSGI -k start
> 16807 www-data 20 0 362M 56412 5572 S 0.0 5.1 0:00.00
> WSGI -k start
> 16806 www-data 20 0 362M 56412 5572 S 0.0 5.1 0:05.92
> WSGI -k start
> 17227 www-data 20 0 354M 54540 10376 S 0.0 4.9 0:00.00
> WSGI -k start
> 17228 www-data 20 0 354M 54540 10376 S 0.0 4.9 0:00.01
> WSGI -k start
> 17229 www-data 20 0 354M 54540 10376 S 0.0 4.9 0:03.14
> WSGI -k start
> 17226 www-data 20 0 354M 54540 10376 S 0.0 4.9 0:01.77
> WSGI -k start
> 16748 www-data 20 0 364M 45280 5224 D 0.6 4.1 0:08.84
> WSGI -k start
> 16747 www-data 20 0 364M 45280 5224 S 0.0 4.1 0:00.06
> WSGI -k start
> 16745 www-data 20 0 364M 45280 5224 S 0.0 4.1 0:04.73
> WSGI -k start
> 16746 www-data 20 0 364M 45280 5224 S 0.0 4.1 0:00.00
> WSGI -k start
> 17074 www-data 20 0 361M 37608 7812 S 0.0 3.4 0:05.57
> WSGI -k start
> 17073 www-data 20 0 361M 37608 7812 S 0.0 3.4 0:00.03
> WSGI -k start
> 17072 www-data 20 0 361M 37608 7812 S 0.0 3.4 0:00.00
> WSGI -k start
> 17071 www-data 20 0 361M 37608 7812 S 0.0 3.4 0:03.08
> WSGI -k start
> 16555 www-data 20 0 368M 24724 5292 S 0.0 2.2 0:28.51
> WSGI -k start
> 16554 www-data 20 0 368M 24724 5292 S 0.0 2.2 0:00.07
> WSGI -k start
> 16553 www-data 20 0 368M 24724 5292 S 0.0 2.2 0:00.00
> WSGI -k start
> 16552 www-data 20 0 368M 24724 5292 S 0.0 2.2 0:25.12
> WSGI -k start
> 16507 www-data 20 0 364M 24348 5064 S 0.0 2.2 0:08.88
> WSGI -k start
> 16506 www-data 20 0 364M 24348 5064 S 0.0 2.2 0:00.06
> WSGI -k start
> 16505 www-data 20 0 364M 24348 5064 S 0.0 2.2 0:00.00
> WSGI -k start
> 16504 www-data 20 0 364M 24348 5064 S 0.0 2.2 0:06.16
> WSGI -k start
>
>
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected].
> For more options, visit this group at
> http://groups.google.com/group/modwsgi?hl=en.
>
>
--
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/modwsgi?hl=en.