python内存相关
Posted 匡子语
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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(),在内存快要耗尽时,回收机制会起作用。具体需要试验。
以上是关于python内存相关的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 上使用 64 位 Python 调试(可能与 C 库相关的)内存问题?
Python入门自学进阶-Web框架——20Django其他相关知识2