我怎么知道最后创建的对象是什么

时间:2013-08-05 22:56:20

标签: python object memory profiling introspection

我开发了一个复杂的程序,其中一个线程池执行许多对象计划的任务。我有内存泄漏。

到目前为止,我已经检测到使用孔雀鱼,创建的对象的数量正在稳步增长,但它们并未被破坏。我怎么知道哪些物品没有被销毁/收集?

以下是我的代码的摘录:

# Memory Profiling
from guppy import hpy
import gc

class ThreadPool:
    ...
    # Every 1 sec run:
    gc.collect() # yes, this is paranoid...
    print str(self.h.heap()).split('\n')[0]

结果是:

Partition of a set of 110304 objects. Total size = 15475848 bytes.
Partition of a set of 110318 objects. Total size = 15479920 bytes.
Partition of a set of 110320 objects. Total size = 15480808 bytes.
Partition of a set of 110328 objects. Total size = 15481408 bytes.
...

最后创建的对象是什么?是否有一些可以帮助的内省代码?

谢谢!

0 个答案:

没有答案