【发布时间】:2012-10-16 22:41:57
【问题描述】:
我有一个基本的 Python 程序,它可以创建大量线程 (2000),处理某些内容,然后将其写出。
我已将我的代码缩小到与此类似(使用 2k 个线程): URL fetch 线程示例: http://www.ibm.com/developerworks/aix/library/au-threadingpython/
除了在我的课堂上,我实际上什么都不做(从队列中获取项目,然后调用任务完成)。在这个缩小版和我做事的版本中,内存使用是一样的。在 32 位 python 解释器中,我使用了大约 105 兆的虚拟内存。在 64 位中,我使用了超过 8 个演出。
我正在运行 rhel 6。我还添加了: threading.stack_size(32768) 降低堆栈大小。我假设 python 正在获取一些默认的内存限制,我只是无法弄清楚这个限制是什么。
有什么想法吗?
谢谢!
【问题讨论】:
-
您为什么关心虚拟使用? RSS 值是多少?
-
我知道这不是“真正的”内存使用,但我想知道为什么。 RSS 相当低,只有几兆。
-
python 中的列表为项目保留空间,也许这就是问题所在?
标签: python linux memory-management 64-bit python-multithreading