2013-01-16 53 views
-1

我現在的配置已經運行了一年多。可以在mod_wsgi的Apache上運行django導致任何內存泄漏?

我的Apache配置爲包括該mod_wsgi的配置:

Alias /uploads/ "/home/django/myproject/uploads/" 
<Directory "/home/django/myproject/uploads/"> 
    Order allow,deny 
    Options Indexes 
    Allow from all 
    IndexOptions FancyIndexing 
</Directory> 

Alias /static/ "/home/django/myproject/sitestatic/" 
<Directory "/home/django/myproject/sitestatic/"> 
    Order allow,deny 
    Options Indexes 
    Allow from all 
    IndexOptions FancyIndexing 
</Directory> 

WSGIScriptAlias/"/home/django/myproject/apache/django.wsgi" 
<Directory "/home/django/myproject/apache"> 
    Order deny,allow 
    Allow from all 
</Directory> 

而且我/home/django/myproject/apache/django.wsgi看起來是這樣的:

import os 
import sys 

sys.path.append('/home/django') 
sys.path.append('/home/django/myproject') 


os.environ['DJANGO_SETTINGS_MODULE']='myproject.settings' 

import djcelery 
djcelery.setup_loader() 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

非常典型的我猜。

在我的httpd.conf我有這樣一行:

Include "/home/django/myproject/apache/apache_django_wsgi.conf" 

每當這個CONF被加載,Apache進程以100%的漲幅令我MemoryErrors ...

當我註釋掉包括線上面,啓動apache是​​順利的,因爲它應該,內存明智。

我無法找到在Apache日誌任何東西,甚至把它放在調試模式。

很明顯此內存泄漏,如果我可以把它的話,它是由原因要麼mod_wsgi的或我的Django應用程序。

你會如何建議追查錯誤/隔離問題?任何意見都表示讚賞!

回答

0

的問題是在我這被人捧在內存中的所有應用程序的Django的一個越野車的功能。

0

你可以配置你的Apache配置中使用mod_wsgi的資源。試試這個

WSGIDaemonProcess yourname.com processes=1 threads=2 display-name=%{GROUP} 
    WSGIProcessGroup yourname.com 
    WSGIScriptAlias//home/django/myproject/apache/django.wsgi 

您可以設置的進程和線程數等檢查選擇這裏http://code.google.com/p/modwsgi/wiki/ConfigurationDirectives#WSGIDaemonProcess

+0

謝謝,但它does not幫助。如果進程設置爲1,則所有內存都會轉到該進程。任何其他想法? –