美文网首页
使用 sys.getsizeof 查看 python 对象的内存

使用 sys.getsizeof 查看 python 对象的内存

作者: Manchangdx | 来源:发表于2018-05-02 11:14 被阅读0次

使用 sys.getsizeof 方法可以查看 python 对象的内存占用,单位:字节 (byte)
实际上是调用了 __sizeof__ 方法:

In [35]: import sys

In [36]: sys.getsizeof('hello world')
Out[36]: 60

In [37]: 'hello world'.__sizeof__()
Out[37]: 60

有些数据类型在 Python3 和 Python2 中占用的内存是不同的,例如 range

# python3
In [38]: sys.getsizeof(range(999))
Out[38]: 48

In [39]: sys.getsizeof(iter(range(999)))
Out[39]: 48

# python2
>>> sys.getsizeof(range(999))
8064
>>> sys.getsizeof(iter(range(999)))
64

关于这个值是怎么算出来的,有待研究~
暂时已知:这个值包括该对象的数值、签名(包括数据类型、参数、调用方式等)等一系列数据所占总内存。可变对象所占内存可能极小,因为对象是指针,指向很大的数据。

In [65]: s = sys.getsizeof

In [66]: s(1)
Out[66]: 28

In [67]: s(11)
Out[67]: 28

In [68]: s(11111111)
Out[68]: 28

In [69]: s(1111111111)
Out[69]: 32

相关文章

  • 使用 sys.getsizeof 查看 python 对象的内存

    使用 sys.getsizeof 方法可以查看 python 对象的内存占用,单位:字节 (byte)实际上是调用...

  • 使用 sys.getsizeof 查看 python 对象的内存

    使用 sys.getsizeof 方法可以查看 python 对象的内存占用,单位:字节 (byte)实际上是调用...

  • Daily knowledge

    181203 《Python高级技巧,用一行代码减少一一半内存占用》—— AI研习社 sys.getsizeof(...

  • Python内存分配小秘密,一般人我不告诉他

    Python里面如何查看对象所占用的内存?这里我们需要使用到Python内置的sys模块,sys模块负责程序与Py...

  • jvm

    查看jvm中的进程 检查内存使用情况 查看对象分布,内存空间和数量 查看gc日志

  • python爬虫面试题

    python是如何进行内存管理的? a、对象的引用计数机制 python内部使用引用计数,来保持追踪内存中的对象,...

  • MAT简单使用

    MAT简单使用: 进入Histogram: 查看内存中的对象: Objects:对象的个数Shallow Heap...

  • InterV For Python

    0x01 Python是如何进行内存管理的 引用计数Python使用引用计数来保持追踪内存中的对象,所有对象都有...

  • Android内存泄漏分析

    1 .工具介绍 1.1使用Android Studio查看内存快照: (1)可以查看对象对应的文件目录及内容,比如...

  • python面试题之Python是如何进行内存管理的

    python内部使用引用计数,来保持追踪内存中的对象,Python内部记录了对象有多少个引用,即引用计数,当对象被...

网友评论

      本文标题:使用 sys.getsizeof 查看 python 对象的内存

      本文链接:https://www.haomeiwen.com/subject/lpwqrftx.html