我将我的第一个Django项目从DjangoEurope移到Webfaction,这开始了一个看起来像内存泄漏的问题。随着服务器进程的每次请求内存使用量增加大约500kb。它永远不会停止。这一直持续到Webfaction因为使用太多的内存而杀死它。Django的内存使用量随着每个请求而上涨
当我在浏览器中刷新Django的管理界面时,我可以清楚地看到这一点(尽管每个页面都会发生这种情况,但不仅仅是管理界面 - 我虽然管理界面会是一个很好的测试用例,因为没有我代码直接在那里)。随着每个浏览器重新加载内存使用量上升几百千字节。
I测试使用由Webfaction建议的命令的存储器:
ps -u publica -o rss,etime,pid,command
进一步了解我的设置:
- Django的1.1(稳定)
- 默认Webfaction Django的设置使用Apache和mod_wsgi
DEBUG
设置为False
- 来自Webfaction的MySQLdb 1.2.2,但听到它有一些问题,我试过版本1.2.3c。没有帮助。
编辑:我创建了一个空的Django项目 - Django缺省的配置加上django.contrib.admin
和新鲜的空数据库(都与MySQL和PostgreSQL试过)。我开始在浏览器中重新加载Django admin,并观看内存使用情况。起初我看到问题的发生 - 内存使用量在每次重新加载后都会增加。但随后稳定并停止增长。这与我的原始项目在Django Europe上的表现一致。不幸的是,在Webfaction中,它似乎永远不会稳定(或者至少不在我的账户可用的内存限制内)。有什么建议?
如果你在模型中做了一些漏洞,它肯定会显示在管理员中,所以我不确定你是否已经将你的代码视为罪魁祸首。对于它的价值,我已经在Webfaction上运行了一年多的Django应用程序,并没有像这样的问题。 – 2010-02-19 05:36:59