Python 内存使用量急剧增加

Python 内存使用量急剧增加,python,memory,overhead,Python,Memory,Overhead,我对代码的内存使用有一个问题,就是内存急剧增加,每小时3 GB,我需要大约80小时来计算。如何检查计算的每个部分的内存使用情况?您可以在您认为有益的地方插入gc.collect()。当然,如果您持有对内存的引用,它将不会被释放。另外,如果您在C中分配内存,那么您负责释放它 Python的正常内存处理功能做得很好,因此我建议只在您确定要删除对大量内存的引用并且释放速度不够快的情况下调用gc.collect() 至于这些调用应该放在哪里,没有硬性规定,只要记住,只有未引用的内存才会被释放。欢迎这样做

我对代码的内存使用有一个问题,就是内存急剧增加,每小时3 GB,我需要大约80小时来计算。如何检查计算的每个部分的内存使用情况?

您可以在您认为有益的地方插入
gc.collect()
。当然,如果您持有对内存的引用,它将不会被释放。另外,如果您在C中分配内存,那么您负责释放它

Python
的正常内存处理功能做得很好,因此我建议只在您确定要删除对大量内存的引用并且释放速度不够快的情况下调用
gc.collect()


至于这些调用应该放在哪里,没有硬性规定,只要记住,只有未引用的内存才会被释放。

欢迎这样做。我建议四处看看,看看如何提出一个恰当的问题,以增加社区给出一些好答案的机会:。例如,你能展示你的努力并粘贴一段代码吗?@Cabrra谢谢!我不知道如何挑选部分代码来重现这个问题。我可以把那部分放在定义好的数组中吗?你可以在你认为有用的地方插入
gc.collect()
。当然,如果您持有对内存的引用,它将不会被释放。另外,如果您在
C
中分配内存,那么您有责任释放内存。@johnanderson这看起来像是答案,而不仅仅是注释。你介意从中找出答案吗?Python是一种管理大型数据集(数据挖掘等)的强大语言。我不完全理解这个问题,因此我不是给你正确答案的合适人选。但是,您是否考虑过使用其他方式来处理数据设置?也许数组太基本了,占用了太多的内存空间。您可以从文件/存储器构建映射,并以这种方式跟踪数据。再说一次,我不在那个领域。