1.  /proc/pid/status

可以查看进程相关的详细信息,当内存异常时可查看

参考:http://blog.csdn.net/beckdon/article/details/48491909

2. top -p 进程号

实时查看进程相关内存

3. 内存调试

参考:http://blog.csdn.net/ybdesire/article/details/73128353

memory_profiler  查看函数中各行代码的内存增长

guppy  查看python对象占用的堆内存大小

4. 查看变量引用计数

import sys 
sys.getrefcount(变量名)

5. 强制回收变量

del 变量名

gc.collect()

注意:上述代码只能让python回收内存,但是python底层的libc和os如果不释放内存的话,内存空间还是占用的。对于大变量,最好循环处理,不要一次性读入内存,防止一下子占用过大内存后无法及时回收。

http://blog.csdn.net/nirendao/article/details/44426201/  中对del 和 gc.collet的效果做了测试,里面说如果使用gc.collect(),在内存快要耗尽时,回收机制会起作用。具体需要试验。

【python】内存相关的更多相关文章

  1. Python内存相关

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

  2. python内存相关问题

    想要弄清楚内存相关的问题,就要理清楚:变量.内存地址.值之间的关系:1.程序里什么时候分配新的内存地址?答:1.定义一个变量,内存就开辟一个内存空间,分配一个内存地址. 特殊: 如:a=687 a=1 ...

  3. python内存相关以及深浅拷贝讲解

    3.9 内存相关 3.9.1 id,查看内存地址 >>> v1 = [11,22,33] >>> v2 = [11,22,33] >>> prin ...

  4. python 内存问题(glibc库的malloc相关)

    题记: 这是工作以来困扰我最久的问题.python 进程内存占用问题. 经过长时间断断续续的研究,终于有了一些结果. 项目(IM服务器)中是以C做底层驱动python代码,主要是用C完成 网络交互部分 ...

  5. Python内存优化

    实际项目中,pythoner更加关注的是Python的性能问题,之前也写过一篇文章<Python性能优化>介绍Python性能优化的一些方法.而本文,关注的是Python的内存优化,一般说 ...

  6. Python内存优化:Profile,slots,compact dict

    实际项目中,pythoner更加关注的是Python的性能问题,之前也写过一篇文章<Python性能优化>介绍Python性能优化的一些方法.而本文,关注的是Python的内存优化,一般说 ...

  7. python文件相关操作

    Python文件相关操作 打开文件 打开文件,采用open方法,会将文件的句柄返回,如下: f = open('test_file.txt','r',encoding='utf-8') 在上面的代码中 ...

  8. 记一次调试python内存泄露的问题

    转载:http://www.jianshu.com/p/2d06a1a01cc3 这两天由于公司需要, 自己编写了一个用于接收dicom文件(医学图像文件)的server. 经过各种coding-de ...

  9. Python内存分配器(如何产生一个对象的过程)

    目录 内存分配器 Python分配器分层 第零层--通用的基础分配器 第一层--低级内存分配器 内存结构 arena pool new arena usable_arenas和unused_arena ...

  10. 【python测试开发栈】—python内存管理机制(二)—垃圾回收

    在上一篇文章中(python 内存管理机制-引用计数)中,我们介绍了python内存管理机制中的引用计数,python正是通过它来有效的管理内存.今天来介绍python的垃圾回收,其主要策略是引用计数 ...

随机推荐

  1. 安装confluence5.10.0版本

    1.confluence也是atlassian公司的一应用 2.安装步骤和jira类似 3.破解jar 将/export/atlassian/confluence/confluence/WEB-INF ...

  2. js 一个对象的属性名是一个变量怎么处理?

    1.这种方法的属性(setAttrName)可以是一个变量. var obj = {}; obj[setAttrName] = 'Tom' 2.这样就可以动态的给js对象添加变量属性. var obj ...

  3. Bagging, Boosting, Bootstrap

    Bagging 和 Boosting 都属于机器学习中的元算法(meta-algorithms).所谓元算法,简单来讲,就是将几个较弱的机器学习算法综合起来,构成一个更强的机器学习模型.这种「三个臭皮 ...

  4. canvas贪吃蛇游戏

    用canvas做了一个贪吃蛇小游戏 开始界面 游戏界面 结束界面 <!DOCTYPE html>  <html>  <head>  <meta charset ...

  5. css模拟时钟

    css模拟时钟 思路: 画时钟数字(x,y)坐标 x = x0 + r*cos(deg) y = y0 + r*sin(deg) 知识点: 创建元素: createElement 添加元素: appe ...

  6. 【转】Vim速查表-帮你提高N倍效率

    Vim速查表-帮你提高N倍效率 转自:https://www.jianshu.com/p/6aa2e0e39f99 去年上半年开始全面使用linux进行开发和娱乐了,现在已经回不去windows了. ...

  7. Python-列表的常用操作

    #先定义一个列表 names = ["ZhangXueyou","LiMing","GuoFucheng","LiuDehua&q ...

  8. k64 datasheet学习笔记11---Port Control and Interrupts (PORT)

    1.前言 Port Control and Interrupt (PORT)  模块提供了port control,digital filtering,和外部中断功能 每个pin的大部分功能可被独立配 ...

  9. 利用crash 分析软死锁问题【转】

    转自:https://blog.csdn.net/divlee130/article/details/47806551 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog. ...

  10. Linux下的Jenkins+Tomcat+Maven+Git+Shell环境的搭建使用(jenkins自动化部署)【转】

    jenkins自动化部署 目标:jenkins上点构建(也可以自动检查代码变化自动构建)>>>项目部署完成. 一.安装jenkins 1.下载jenkins 这里我选择的是war包安 ...