web.py内存泄漏

时间:2011-03-02 02:08:18

标签: python web-applications memory-leaks web.py

我做错了什么或者web.py泄漏内存了吗?

import web

class Index:
  def GET(self): return 'hello web.py'
app = web.application(('/*', 'Index'), globals())
app.run()

运行以上文件。观察任务使用的内存量。在浏览器中转到localhost:8080。关闭浏览器(以防止页面被缓存),然后再次打开页面,看看内存使用率是如何上升的。每次关闭浏览器并重新访问该页面时,它都会上升。

在Win XP上运行python 2.6。

1 个答案:

答案 0 :(得分:4)

运行代码并发送数千个请求(通过另一个使用urllib2的Python进程)后,我发现它在前几百个请求过程中增长了大约200k,然后停止增长。这似乎并不合理,并且不需要指出内存泄漏。请记住,Python通过引用计数和垃圾收集的组合使用自动内存管理,因此无法保证它使用的每一位内存在不再使用的瞬间都可以重用;并且它可以从操作系统请求内存,然后即使不再需要它也不会返回它。

所以我认为答案是:你没有做错任何事,但是web.py不会泄漏内存。