<p>我发现了几个帖子,应该会很有帮助。还没来得及消化其中的所有信息,但我想我会发布这些链接,让你也看看。在</p>
<p>mariusgedminas有两篇关于在Python测试套件中寻找memleaks的帖子。他使用了内置的<code>gc</code>和<code>inspect</code>模块,并简单地将对象图作为csv文件转储到磁盘上,因此即使对于<code>mp</code>应用程序,这种方法也能很好地工作。在</p>
<p>我今天晚些时候有空的时候再去调查。在</p>
<p><strong>更新</strong></p>
<p>Marius将他的测试平台作为一个名为<code>objgraph</code>(<a href="http://mg.pov.lt/objgraph/" rel="nofollow">link</a>)的开源项目发布。它跟踪<code>gc</code>对象引用,但允许您打印出有用的信息,例如在函数调用后添加了多少个类型的实例,并允许您查看对象的完整引用链。在</p>
<p>这些文档非常自解释,我看不出它为什么不能与<code>mp</code>应用程序一起工作的原因。在</p>
<p>但是,如果内存泄漏来自于某个底层c库,那么这可能对您没有帮助。至少它能让你知道泄漏在哪里。如果结果不是在python代码中,那么您可能需要重构代码,以便在主进程中运行相关的c库,并使用类似<a href="http://valgrind.org/" rel="nofollow">Valgrind</a>的方法来检测泄漏。在</p>
<hr/>
<p>原帖
<a href="http://mg.pov.lt/blog/hunting-python-memleaks.html" rel="nofollow">http://mg.pov.lt/blog/hunting-python-memleaks.html</a></p>
<p>他更专注于他所使用的工具
<a href="http://mg.pov.lt/blog/python-object-graphs.html" rel="nofollow">http://mg.pov.lt/blog/python-object-graphs.html</a></p>
<p>我开始发帖了
<a href="http://www.lshift.net/blog/2008/11/14/tracing-python-memory-leaks" rel="nofollow">http://www.lshift.net/blog/2008/11/14/tracing-python-memory-leaks</a></p>