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下用此函数清空全局变量。

python 内存释放相关推荐

  1. python 内存释放gc_python 内存释放问题,高手请帮帮忙

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 我重复一楼的问题, range(1024*1024)确实占用很大内存,但是del后,内存几乎是马上就释放了, 没有内存持续占用问题.我测试操作系统是mac ...

  2. python 内存释放gc_如何释放内存的python删除对象?

    一旦你删除一个对象,它可以被垃圾收集而不是立即删除 – 所以只要给它一些时间,它将释放或触发一个gc.collect()来加快速度. python.exe Python 3.5.1 (v3.5.1:3 ...

  3. python processpoolexector 释放内存_关于python:如何在multiprocessing.queue中从Process中释放内存?...

    我有一个程序试图预测一周内发送的每封电子邮件的电子邮件转换(因此,通常是7封). 输出是7个不同的文件,每个客户的预测得分. 串行运行这些可能需要8个小时,因此我尝试使用multiprocessing ...

  4. python内存管理及释放_python的内存管理

    python的内存分配 python的内存分配主要分为4层.在Objects/obmalloc.c中的注释里画出了python的内存分配模型如下. 截图来自python代码的注释 其中第0层是库函数的 ...

  5. Python内存池管理与缓冲池设计

    出处:http://blog.csdn.net/zhzhl202/article/details/7547445#t4 Python是一门开发效率很高的语言,而且其既下里巴人,又阳春白雪.也就是说这门 ...

  6. python内存管理说法错误_python面试题总结1-内存管理机制

    1.python内存管理机制 (1).引用计数 (2). 垃圾回收 (3). 内存池机制 引用计数 在python中每创建一个对象,对应的会有一个引用计数,当发生赋值操作如a=b,对应的b的引用计数会 ...

  7. Python内存相关

    Python内存相关 示例一: v1 = [1, 2, 3] v2 = [1, 2 ,3]v1 = 123 v2 = 123v1 = "dogfa" v2 = "dogf ...

  8. python 内存回收机制_【第1题】 Pythonn内存管理以及垃圾回收机制

    内存管理 Python解释器由c语言开发完成,py中所有的操作最终都由底层的c语言来实现并完成,所以想要了解底层内存管理需要结合python源码来进行解释. 1. 两个重要的结构体 include/o ...

  9. python内存的回收机制_简单介绍python的垃圾回收机制

    这篇文章主要介绍了python垃圾回收机制的相关资料,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下 什么是垃圾回收机制? 首先,咱先来解释名词,垃圾回收是不是就是将没用的,废弃的东西回 ...

最新文章

  1. Fail to find the dnn implementation. [Op:CudnnRNN]解决办法
  2. libevent 安装异常
  3. linux make 命令行 定义宏(-D)传递给C源代码 简介
  4. Jboss4集群配置【转】
  5. 虚拟主机的实现方式,真是简单啊!
  6. Oracle sql如何把毫秒转为日期,sql – 将毫秒转换为时间戳
  7. valuable的用法_词汇精选:valuable的用法和辨析
  8. 【图像加密】基于matlab GUI彩色图像加密解密(带面板)【含Matlab源码 1231期】
  9. 使用bat一键生成bmfont艺术字
  10. 《三体》与Taylor展开式的无限遐想
  11. HDFS与HBASE的动态节点的扩容(增删)小白级(二)
  12. css文本向左对齐怎么设置,css怎么设置文本左对齐
  13. Visual Studio 2017 C# 对 AutoCad2014 的二次开发设置
  14. be 动词 时态变化
  15. ESP8266_04-------------串口的使用
  16. 百度智能云的“星辰大海”
  17. BZOJ1927 [Sdoi2010]星际竞速
  18. 分区数据丢失怎么恢复?恢复磁盘分区数据的方法
  19. 牛客SQL 大厂面试真题 某滴打车 6套代码及解析
  20. rowspan和colspan使用

热门文章

  1. 路遇又一个流量风口,民宿长期向好的逻辑选对了吗
  2. 安卓笔记:修正Task ‘wrapper‘ not found in project
  3. 威客相当地址收藏_无需整理
  4. Are You Talking to Me? Reasoned Visual Dialog Generation through Adversarial Learning
  5. 员工满意度模型定期检讨工作规范有哪些?
  6. pwnable.kr第七八题 input leg
  7. C++通过ODBC方式连接数据库SQLServer及增删查改操作【图书借阅系统为例】
  8. mysql实现按照自定义(指定顺序)排序
  9. 唯链瞄准数十亿美元中国宠物食品可追溯性市场
  10. c语言对称矩阵的压缩存储_C++实现对称矩阵的压缩存储 | 术与道的分享