Python如何处理内存?

时间:2010-12-18 12:49:59

标签: python performance memory

我一直在关注in-memory database - 它让我思考,Python如何处理与连接无关的IO(甚至是数据);例如,哈希,集合等;这是一个配置在某处,还是基于资源动态管理;是否有“简单”的方法来查看资源对真实程序的影响,并模拟性能受到的影响是不同的硬件设置?

注意:如果重要,Redis是我正在查看的内存数据存储;有一个wrapper for Redis datatypes的实现,所以它们模仿Python中的数据类型。

2 个答案:

答案 0 :(得分:7)

Python分配应用程序要求的所有内存。政策空间不大。唯一的问题是何时释放内存。 (C)Python立即释放所有未被引用的内存(这也是不可调的)。仅由自身引用的内存(即循环)由垃圾收集器释放;这有可调设置。

操作系统决定将部分内存写入页面文件。

答案 1 :(得分:1)

不完全是您所要求的,但是Dowser是一个Python工具,用于交互式浏览正在运行的程序的内存使用情况。在理解内存使用和分配模式方面非常有用。

http://www.aminus.net/wiki/Dowser