我正在尝试改善python中脚本的内存使用率,因此我需要知道列表中的RAM使用率是多少.我用以下方法测量内存使用量print str(sys.getsizeof(my_list)/1024/1024)希望可以给我提供以MB为单位的RAM中列表的大小.它输出12 ...

我正在尝试改善python中脚本的内存使用率,因此我需要知道列表中的RAM使用率是多少.
我用以下方法测量内存使用量
print str(sys.getsizeof(my_list)/1024/1024)
希望可以给我提供以MB为单位的RAM中列表的大小.
它输出12 Mb,但是在顶部命令中,我看到我的脚本在运行时使用了4G笔记本电脑70%的RAM.
此外,此列表应包含?500Mb文件中的内容.
因此12Mb是不现实的.
如何测量实际内存使用量?
解决方法:
sys.getsizeof仅考虑列表本身,而不考虑列表中包含的项目.
根据sys.getsizeof documentation:
…
Only the memory consumption directly attributed to the object is
accounted for, not the memory consumption of objects it refers to.
…
使用Pympler:
>>> import sys
>>> from pympler.asizeof import asizeof
>>>
>>> obj = [1, 2, (3, 4), 'text']
>>> sys.getsizeof(obj)
48
>>> asizeof(obj)
176
本文标题为:python-列出内存使用情况


基础教程推荐
- 浅析Python __name__ 是什么 2023-08-08
- python编程学习使用管道Pipe编写优化代码 2023-08-08
- python-“陈旧文件句柄”错误,当进程尝试读取文件时,该其他进程已被删除 2023-11-11
- 再次:在Windows上安装Z3 Python 2023-11-16
- Python multiprocessing.Process对象的行为类似于在另一个进程中保存对对象的引用.为什么? 2023-11-14
- 解决-bash: /usr/bin/yum: /usr/bin/python2.7.15: 坏的解释 2023-09-04
- python学习与数据挖掘应知应会的十大终端命令 2023-08-08
- Windows(64位)上的Python 2.7.8(64位)是Ubuntu(64位)上2.7.8(64位)的一半 2023-11-12
- Python – 使用请求直接下载文件到内存 2023-11-15
- python在Windows和Unix上处理不同的长整数 2023-11-16