python内存持续增长_python内存增长问题

本文探讨了Python程序运行过程中内存持续增长的原因和解决方案。建议将循环内的代码拆分为子函数,以减少内存残留。此外,可以尝试升级Python到2.7.13,并在函数结尾使用`for x in locals().keys(): del locals()[x]`和`gc.collect()`来释放内存。文章提到了可能的问题,如循环引用、全局对象增大、C/C++扩展内存溢出,以及requests库可能导致的内存泄漏。同时,文章推荐使用`memory_profiler`库进行内存分析。
摘要由CSDN通过智能技术生成

如果你的程序没有调用什么特殊的库,

只是用了很平常的库,

而且使再循环很多的情况下,

那么建议你把循环里的程序拆出来,写成一子函数,循环子函数。

如下面格式:

for   (循环)

子函数

这样程序每次循环的是子函数然后循环完子函数程序会自动搜集所有的子函数变量,

这样保证了每次循环的残留最小。

如果还是不行,下面是我搜集的一些资料。

python升级到2.7.13

函数执行的结尾加上这个即可

for x in locals().keys():

del locals()[x]

gc.collect()

原理是,locals()会列出当前所有局部变量,手动的把当前函数生成的开销都给清空掉即可释放掉内存。

---------------------

作者:田有权

来源:CSDN

原文:https://blog.csdn.net/u011060852/article/details/78183373

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

https://blog.csdn.net/nirendao/article/details/44426201/

以上说明,当调用del时,其实Python并不会真正release内存,而是将其继续放在其内存池中;只有在显式调用gc.collect()时,才会真正release内存。

del locals()[x]</

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值