内存使用量急剧增加[关闭]

Posted

技术标签:

【中文标题】内存使用量急剧增加[关闭]【英文标题】:Memory usage increases dramatically [closed] 【发布时间】:2019-04-25 05:50:53 【问题描述】:

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

【问题讨论】:

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

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

Python 的普通内存处理设施做得很好,所以我只建议您调用gc.collect(),如果您确定要删除对大量内存的引用并且释放速度不够快。

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

【讨论】:

以上是关于内存使用量急剧增加[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

使用内存映射文件读取大文件

WPF每次打开和关闭窗口时增加内存

R中的并行foreach共享内存

IOCP 的内存使用情况[关闭]

关闭内存缓存对效能有影响吗

我在 Android 中使用 ListActivity 时出现内存泄漏