python内存回收的问题

python内存回收的问题

python实际上,对于占用很大内存的对象,并不会马上释放。

举例,a=range(10000*10000),会发现内存飙升一个多G,del a 或者a=[]都不能将内存降下来。。

del 可以删除多个变量,del a,b,c,d
办法:
import gc (garbage collector)
del a
gc.collect()

马上内存就释放了。

 

 

在IPython中用run运行程序时,都是在独立的运行环境中运行,结束之后才将程序运行环境中的结果复制到IPython环境中,因此不会有变量被重复调用的问题。

如果你是指在自己的程序中想删除所有全局变量的话,可以自己编写一个clear函数,通过globals()获取全局变量然后将其中不需要的内容删除,例如下面的程序保留函数,类,模块,删除所有其它全局变量:

 

def clear():

    for key, value in globals().items():

        if callable(value) or value.__class__.__name__ == “module”:

            continue

        del globals()[key]

不过程序中应该避免这种对全局变量的依赖。你也可以在IPython下用此函数清空全局变量。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119665.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • iphone屏幕尺寸大全对照表(iphone所有屏幕尺寸)

    展开全部第一代iPhone2G屏幕为32313133353236313431303231363533e78988e69d83313333663037663.5英吋,分辨率为320*480像素,比例为3:2。第二代iPhone3G屏幕为3.5英吋,分辨率为320*480像素,比例为3:2。第三代iPhone3GS屏幕为3.5英吋,分辨率为320*480像素,比例为3:2。第四代iPhone4屏幕为3…

    2022年4月16日
    3.9K
  • Windows端口被占用_windows如何打开端口

    Windows端口被占用_windows如何打开端口电脑系统为Windows10一以管理员身份打开命令行窗口【Win+R】:使用快捷键打开“运行”窗口输入【cmd】,点击确定,打开“命令”窗口二查看被占用端口对应的PID比如在开发时,系统提示你1080已被占用,我们首先要做的就是找到1080端口对应的PID。在命令行中输入命令:netstat-aon|findstr”1080″回车执行命令后,最后一位数字就是被占用窗口的PID。我这里对应的是16996和18912。三查看指定PID的进程在命令行中输入命令:ta.

    2025年9月26日
    3
  • LayuiAdmin模板(0积分免费下载,非单独框架)

    LayuiAdmin模板(0积分免费下载,非单独框架)点击这里直接下载LayuiAdmin模板

    2025年8月4日
    3
  • 柴油发电机发电机组_柴油发电机配置规范

    柴油发电机发电机组_柴油发电机配置规范应急柴油发电机主要用于重要场所,在紧急情况或事故停电后瞬间停电,通过应急发电机组迅速恢复 并延长一段供电时间。这类用电负荷称为一级负荷。对断电时间有严格要求的设备、仪表及计算机系统,除配备发电机外还应设电池或UPS供电。应急柴油发电机的工作有两个特点:(1)第一个特点是作应急用,连续工作的时间不长,一般只需要持续运行几小时(≤12H);(2)第二个特点是作备用,应急发电机组平时处于停机等待状态,只…

    2022年10月2日
    3
  • 校园网无需认证_跳过校园网认证app

    校园网无需认证_跳过校园网认证app本文使用SoftEther和OpenVPN,绕过校园网认证,实现不限时的上网。

    2025年8月24日
    3
  • Jenkins(5)生成allure报告

    Jenkins(5)生成allure报告前言jenkins集成了allure插件,安装插件后运行pytest+allure的脚本即可在jenkins上查看allure报告了。allure安装在运行代码的服务器本机,我这里是用的dock

    2022年7月28日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号