Python消耗所有RAM,进程被杀死

时间:2014-04-24 13:47:15

标签: python ram garbage

我通过VirtualBox运行Linux Mint,而我使用的Python代码包含对大型数据集的迭代以生成绘图。我试图运行它的前几次,通过一个简单的说法" Killed"

的消息停止了整个过程的一部分。

一些研究表明,这很可能是由于该过程缺乏RAM。当重复该过程并监视系统资源使用情况时(使用命令top -s),我确信在程序运行时我可以以相当恒定的速率观察ram使用率。我给VirtualBox提供了我的系统可以承受的所有RAM(仅超过2Gb),但对于我正在进行的迭代,它似乎不够。代码如下所示:

  for file in os.listdir('folder/'):
      calledfunction('folder/'+file, 'output/'+file)

被调用的函数产生一个png图像,因此每次迭代需要大约50mb的RAM,我想要做大约40次。

所以,我的问题是,我可以使用一个函数来防止RAM使用的累积,或者在每次迭代后清除RAM吗?我见过人们谈论垃圾收集,但我不确定如何使用它,或者我可以/应该把它放在我的循环中。任何原型?

由于

0 个答案:

没有答案