金字塔应用程序不在视图之间释放内存

时间:2012-09-30 10:24:16

标签: pyramid pickle python-3.2

我的金字塔视图以一种有趣的方式行为不端。视图的作用是从文件中获取一个非常复杂的对象层次结构(使用pickle),进行一些处理,然后呈现一个html表单。好又简单。

设置

我正在运行Ubuntu 12.04 64bit,Python3.2,Pyramid 1.3.3,SQLAlchemy 0.7.8并使用标准的女服务器服务器。

症状

我遇到了一些效率问题,所以使用系统监视器来试图查看是什么,并发现金字塔正在进行处理,对于视图,我描述了我的ram使用率稳步上升。由于html表单在我的浏览器中显示,ram使用情况稳定下来但没有下降。重新加载视图导致ram使用从它停止的地方稳定增长。如果我继续这样做,我的所有公羊都会用完,一切都会停止。

如果我杀了服务器,那么ram使用率会立即下降。

问题

发生了什么事?很明显,在视图渲染之间没有释放内存,但为什么会发生这种情况呢?我怎么能让它停下来?我甚至尝试在从视图返回之前调用del,然后没有任何改变。

1 个答案:

答案 0 :(得分:2)

Pyramid的调试工具栏使对象保持活跃状态​​。停用它可以解决大多数内存泄漏问题。我在金字塔中搜索错误的原因泄漏似乎并不是金字塔的问题