为了账号安全,请及时绑定邮箱和手机立即绑定

找出Python中某个对象正在使用多少内存

找出Python中某个对象正在使用多少内存

慕的地8271018 2019-12-20 10:35:42
您将如何查找对象正在使用多少内存?我知道有可能找出一个代码块,而不是实例化对象(在其生命中的任何时间)要使用多少,这就是我想要的。
查看完整描述

3 回答

?
慕容708150

TA贡献1831条经验 获得超4个赞

没有简单的方法可以找到python对象的内存大小。您可能会发现的问题之一是Python对象(如列表和字典)可能引用了其他python对象(在这种情况下,您的大小是多少?包含每个对象的大小的大小?)。有一些指针开销和与对象类型和垃圾回收相关的内部结构。最后,某些python对象具有非显而易见的行为。例如,大多数情况下,列表为更多的对象保留了空间。dict甚至更加复杂,因为它们可以以不同的方式进行操作(对于少量的键,它们具有不同的实现方式,有时它们会过度分配条目)。


那里有一大段代码(和更新的大段代码),以尝试最好地估计内存中python对象的大小。


您可能还需要检查一些有关PyObject的旧描述(内部C结构实际上代表了所有python对象)。


查看完整回答
反对 回复 2019-12-20
  • 3 回答
  • 0 关注
  • 1501 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信