想起之前在知乎看到的两个动图, 一个是C++的垃圾回收, 一个是Java的垃圾回收. 笑...
python的内存泄露排查:
- 所用到的用 C 语言开发的底层模块中出现了内存泄露。
- 代码中用到了全局的 list、 dict 或其它容器,不停的往这些容器中插入对象,而忘记了在使用完之后进行删除回收
- 代码中有“引用循环”, python 垃圾处理机制无法进行回收
如何定位内存泄露:
使用 objgraph, pympler等库
https://mg.pov.lt/objgraph/#memory-leak-example
Reference:
https://markhaa.se/debugging-python-memory-leaks.html
http://code.activestate.com/recipes/65333/
网友评论