我做错了什么或者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。
答案 0 :(得分:4)
运行代码并发送数千个请求(通过另一个使用urllib2的Python进程)后,我发现它在前几百个请求过程中增长了大约200k,然后停止增长。这似乎并不合理,并且不需要指出内存泄漏。请记住,Python通过引用计数和垃圾收集的组合使用自动内存管理,因此无法保证它使用的每一位内存在不再使用的瞬间都可以重用;并且它可以从操作系统请求内存,然后即使不再需要它也不会返回它。
所以我认为答案是:你没有做错任何事,但是web.py不会泄漏内存。