Python3对象创建会消耗大量内存

Python3对象创建会消耗大量内存,python,python-3.x,Python,Python 3.x,我想创建一个用户定义类的实例列表。这些实例包含许多在类的构造函数中创建的矩阵。这样一个实例的总大小(用pympler度量)是1.2MB 当一个接一个地创建这些对象时,会发生一些奇怪的事情。创建第一个对象时,系统范围内的内存使用量只会显著增加,但是,创建第二个对象时,它会使用超过1 GB的系统范围内存。这种内存使用并没有反映在python中,即Pypler仍然说内存使用增加了1.2MB。每一个新创建的对象都会这样,每一秒都会占用大量内存 有没有办法知道是什么导致了内存的使用 为了清楚起见,我在下面

我想创建一个用户定义类的实例列表。这些实例包含许多在类的构造函数中创建的矩阵。这样一个实例的总大小(用pympler度量)是1.2MB

当一个接一个地创建这些对象时,会发生一些奇怪的事情。创建第一个对象时,系统范围内的内存使用量只会显著增加,但是,创建第二个对象时,它会使用超过1 GB的系统范围内存。这种内存使用并没有反映在python中,即Pypler仍然说内存使用增加了1.2MB。每一个新创建的对象都会这样,每一秒都会占用大量内存

有没有办法知道是什么导致了内存的使用

为了清楚起见,我在下面包含了相应的(伪)代码:

class ClassA:
    class SubClass:
        def __init__(self, ...):
            self.matrix_a = np.zeros(256)
            self.matrix_b = np.zeros(256)
            self.matrix_c = np.zeros(256)

    def __init__(self, ...):
        self.subitems = []
        for i in range(0, 100000):
            self.subitems.append(ClassA.SubClass(self, ...)

为什么要使用
multi-threading
标记?对不起,我的错误,这个问题发生在多线程环境中,所以当最初提出这个问题时,我认为可能与此有关。然而,同时,我已经排除了这个原因,因为它也发生在单线程设置中。