有没有方法减小Python内存占用?
我正在开发一个 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 解释器的会话(没有脚本、没有参数、没有加载模块),然后用同样的脚本来查看它的内存消耗……你知道吗?
它的内存使用量几乎和我的整个应用一样!
那么,有没有办法减少 Python 解释器的内存占用呢?我甚至尝试把垃圾回收的阈值设置为 3,然后在应用的安全地方调用 gc.collect()……但没有任何变化 :(
1 个回答
1
你确定你没有在查看Python的虚拟内存吗?
这里Python占用了3.4MB的私有内存。