使用Python类和numpy时,内存永远不会释放

时间:2011-05-11 11:29:57

标签: python numpy malloc scipy tcmalloc

基本上我不会在这里发布所有代码,但我会提供一个通用的例子。我有一个类,它具有运行和创建大量值的函数。根据我的估计,这个数组不应该大于10MB。在函数中,它创建new并修改应在列车运行中的函数之后收集的数组。除了返回的tempArray放入大数组之外,它们不会在别处使用。这是重复的。使用的内存不断增长和增长。我的代码是否存在问题或解决此问题。我在这里阅读了关于Linux中malloc的内存泄漏: http://pushingtheweb.com/2010/06/python-and-tcmalloc/

1 个答案:

答案 0 :(得分:0)

你想做什么?

temp = self.largeArray = zeros((1000,1000,10,20))
for y in temp.size:
    for x in temp1.size:
        self.largeArray[x,y] = train()

temp.size等于200,000,000。如果此数组的第二维只有1000,那么如何将任何内容存储到largeArray[x,y]