内存泄露排查

java.jpg
c++.GIF

想起之前在知乎看到的两个动图, 一个是C++的垃圾回收, 一个是Java的垃圾回收. 笑...

python的内存泄露排查:

  1. 所用到的用 C 语言开发的底层模块中出现了内存泄露。
  2. 代码中用到了全局的 list、 dict 或其它容器,不停的往这些容器中插入对象,而忘记了在使用完之后进行删除回收
  3. 代码中有“引用循环”, python 垃圾处理机制无法进行回收

如何定位内存泄露:

使用 objgraph, pympler等库

https://mg.pov.lt/objgraph/#memory-leak-example

Reference:

https://jackywu.github.io/articles/python%E5%86%85%E5%AD%98%E6%B3%84%E9%9C%B2%E8%B0%83%E8%AF%95%E6%8C%87%E5%AF%BC%E6%80%9D%E6%83%B3/

https://markhaa.se/debugging-python-memory-leaks.html
http://code.activestate.com/recipes/65333/

你可能感兴趣的:(内存泄露排查)