这是专门托管在 webfaction 上的,django 项目只有一个静态应用程序,仅此而已。它还运行 celeryd 和 memcached,但这些进程具有预期的内存消耗。
问题的一些线索
将 debug 设置为 true 或 false 对内存消耗的影响为零。
当我运行 apache2/bin/stop,然后 apache2/bin/start 消耗显着下降,直到我重新加载站点,然后它回到这个数量。
这是命令 ps -u username -o rss,command 的显着输出
2120 /home/path/apache2/bin/httpd.worker -f /home/path/apache2/conf/httpd.conf
46408 /home/path/apache2/bin/httpd.worker -f /home/path/apache2/conf/httpd.conf
47124 /home/path/apache2/bin/httpd.worker -f /home/path/apache2/conf/httpd.conf
4800 /home/path/apache2/bin/httpd.worker -f /home/path/apache2/conf/httpd.conf
实例的数量是预期的并且是正常的,只是第 2 次和第 3 次的内存消耗很麻烦。
django 项目使用了一堆 3rd 方库和应用程序,所以可能存在内存泄漏?除此之外,它实际上只是一堆查询集调用..所有会消耗大量内存的东西,比如图像重新调整大小,都在模板中完成,所以不可能那样。
编辑:这是第 3 部分应用程序:
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'mptt',
'userena',
'guardian',
'django_facebook',
'django.contrib.admin',
'django.contrib.admindocs',
'djcelery',
'kombu.transport.django',
)
谢谢您的帮助