【发布时间】:2010-07-20 14:03:55
【问题描述】:
我有一个长时间运行的进程,它将从数据库中获取 100k 行,生成一个网页,然后释放所有小对象(列表、元组和字典)。在 Windows 上,每次请求后都会释放内存。但是,在linux上,服务器的内存一直在增长。
以下帖子描述了问题所在以及一种可能的解决方案。
http://pushingtheweb.com/2010/06/python-and-tcmalloc/
有没有其他方法可以解决这个问题,而不必编译我自己的使用 tcmalloc 的 python 版本。这个选项将很难做到,因为 python 是由系统管理员控制的。
【问题讨论】:
-
这是 glibc 的一个“特性”,独立于 Python。 Windows 分配器以不同的方式工作,因此您会得到不同的行为。
标签: python memory cherrypy tcmalloc