Linux上Python CherryPy应用未释放内存
我有一个长时间运行的程序,它会从数据库中获取10万行数据,生成一个网页,然后释放所有的小对象(比如列表、元组和字典)。在Windows系统上,每次请求后,内存都会被释放。但是在Linux系统上,服务器的内存却一直在增加。
下面的帖子描述了这个问题是什么,以及一个可能的解决方案。
http://pushingtheweb.com/2010/06/python-and-tcmalloc/
有没有其他方法可以解决这个问题,而不需要自己编译一个使用tcmalloc的Python版本?这个选项会很困难,因为Python是由系统管理员控制的。
1 个回答
0
你可以在自己的工作目录里编译Python,而不是让系统管理员去替换系统自带的Python。
首先,你应该确认tcmalloc这个解决方案能解决你的问题,并且不会对你的应用程序性能产生太大影响。