python - Python 3 对象创建消耗大量内存
问题描述
我想创建用户定义类的实例列表。这些实例包含许多在类的构造函数中创建的矩阵。使用 pymler 测量的此类实例的总大小为 1.2 MB。
当一个接一个地创建这些对象时,会发生一些奇怪的事情。创建第一个对象时,系统范围的内存使用量仅增加微不足道,但是,当创建第二个对象时,它使用了超过 1 GB 的系统范围内存。这个内存使用没有反映在python内部,即pympler仍然说内存使用增加了1.2 MB。每个新创建的对象都会如此,每一秒都会使用大量内存。
有没有办法查看导致这种内存使用的原因?
为清楚起见,我在下面包含了相应的(伪)代码:
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, ...)
解决方案
推荐阅读
- node.js - How to migrate react application on server side
- php - 使用 Ubuntu 在本地运行 PHP
- json - 如何将 JSON 数据从 Angular Json Editor 发送到 .net core webapi 控制器?
- node.js - SonarQube Typescript dependency error in Jenkins
- javascript - 使用 Discord.JS 创建频道的问题
- ios - How to pass bytes(ArrayBuffer) between python & js in frida?
- python - 2d alien game/ errors in the code/ dont require pygame or anything advance im beginner
- spring-amqp - How to use RetryInterceptorBuilder.StatefulRetryInterceptorBuilder.stateful()
- amazon-web-services - How to send logs from lambda functions to Kibana
- spring - Can spring security re-try an authentication attempt with the same credentials in the same request?