gpt4 book ai didi

python - 如何检查 iPython 中对象的内存使用情况?

转载 作者:IT老高 更新时间:2023-10-28 21:50:35 25 4
gpt4 key购买 nike

我正在使用 iPython 运行我的代码。我想知道是否有任何模块或命令可以让我检查对象的内存使用情况。例如:

In [1]: a = range(10000)
In [2]: %memusage a
Out[2]: 1MB

类似于 %memusage <object>并返回对象使用的内存。

重复

Find out how much memory is being used by an object in Python

最佳答案

很遗憾,这是不可能的,但有多种方法可以近似得出答案:

  1. 对于或多或少表示为简单 C 语言类型的非常简单的对象(例如整数、字符串、 float 、 double ),您可以像 John Mulder's solution 一样简单地计算字节数.

  2. 对于更复杂的对象,一个很好的近似方法是使用 cPickle.dumps 将对象序列化为字符串。字符串的长度很好地近似于存储对象所需的内存量。

解决方案 2 有一个很大的障碍,即对象通常包含对其他对象的引用。例如,字典包含字符串键和其他对象作为值。那些其他对象可能是共享的。由于 pickle 总是尝试对对象进行完整的序列化,它总是会高估存储对象所需的内存量。

关于python - 如何检查 iPython 中对象的内存使用情况?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/563840/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com