我想知道Python应用程序的内存使用情况,特别想知道哪些代码块/部分或对象消耗了最多内存.

开源的分别是PySizerHeapy.

我没有试过任何人,所以我想知道哪一个是最好的:

  1. 提供了最详细的信息.

  2. 我只需对我的代码做很少的更改或不做任何更改.

推荐答案

guppy3很容易使用.在代码中的某个位置,您必须编写以下内容:

from guppy import hpy
h = hpy()
print(h.heap())

这将为您提供如下所示的输出:

Partition of a set of 132527 objects. Total size = 8301532 bytes.
Index  Count   %     Size   % Cumulative  % Kind (class / dict of class)
0  35144  27  2140412  26   2140412  26 str
1  38397  29  1309020  16   3449432  42 tuple
2    530   0   739856   9   4189288  50 dict (no owner)

您还可以从引用对象的位置找到相关的统计信息,但不知何故,这些对象上的文档有点稀疏.

还有一个用Tk编写的图形浏览器.

对于Python 2.x、 使用Heapy.

Python相关问答推荐

使用新的类型语法正确注释ParamSecdecorator (3.12)

时间序列分解

max_of_three使用First_select、second_select、

Python虚拟环境的轻量级使用

改进大型数据集的框架性能

Pandas GroupBy可以分成两个盒子吗?

考虑到同一天和前2天的前2个数值,如何估算电力时间序列数据中的缺失值?

在Python中使用if else或使用regex将二进制数据如111转换为001""

Flash只从html表单中获取一个值

如何在Great Table中处理inf和nans

在二维NumPy数组中,如何 Select 内部数组的第一个和第二个元素?这可以通过索引来实现吗?

在Python中控制列表中的数据步长

使用SeleniumBase保存和加载Cookie时出现问题

如何使用加速广播主进程张量?

Polars定制函数返回多列

文本溢出了Kivy的视区

迭代工具组合不会输出大于3的序列

Pandas ,快速从词典栏中提取信息到新栏

ValueError:必须在Pandas 中生成聚合值

将鼠标悬停在海运`pairplot`的批注/高亮显示上