【python】内存相关

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(),在内存快要耗尽时,回收机制会起作用。具体需要试验。

 

posted @ 2017-12-01 18:20  匡子语  阅读(248)  评论(0编辑  收藏  举报