我正在开发一个python 2.6(在2.6.5和2.6.6上测试)应用程序,它将作为我的VPS上的守护进程运行。 在一些测试中,我发现应用程序本身正在消耗(在其休眠时间内,因此没有任何活动或分配)大约37.53MB的内存。 我花了最后几个小时来优化代码以减少应用程序内存占用,但是我很难失败XD
我正在使用这行bash代码来获取我的应用程序使用的内存:
ps u -p $(pidof python) | awk 'NR > 1 {nm += $5} END {print nm * 1024}'
*(Yes, im sure i have only that one python instance running ;))*
所以,为了确保我不会浪费我的时间,我只运行了一个python解释器会话(没有脚本,没有args,没有加载模块),并使用相同的脚本来获取它所消耗的内存......你知道吗?
它与我的整个应用程序几乎相同!
那么,有什么方法可以减少python解释器内存占用量?我甚至试图将第一代的gc阈值设置为3,然后在我的应用程序的安全位置调用gc.collect()......但没有任何改变:(
答案 0 :(得分:2)
你确定你没有阅读Python虚拟内存吗?
Python这里消耗3.4MB的私有内存。