当前位置: 首页 > 面试题库 >

Python-建议使用哪个Python内存分析器?

钱元徽
2023-03-14
问题内容

我想知道我的Python应用程序的内存使用情况,尤其想知道哪些代码块/部分或对象消耗了最多的内存。Google搜索显示商用的是Python Memory Validator(仅限Windows)。

开源的是PySizerHeapy

我没有尝试过任何人,所以我想知道哪个是最好的考虑因素:

提供大多数细节。

我必须对我的代码做最少的修改或不做任何更改。


问题答案:

堆很容易使用。在代码中的某些时候,你必须编写以下代码:

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使用建议与技巧分享(一),包括了python使用建议与技巧分享(一)的使用技巧和注意事项,需要的朋友参考一下 这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 如何创建指定长度且有特定值的list 不推荐方式 推荐方式 其实,前一种方式一看就不符合DRY(Don't Repeat Yourself)原则,稍微想想就知道还有更优雅

  • 本文向大家介绍python 使用建议与技巧分享(四),包括了python 使用建议与技巧分享(四)的使用技巧和注意事项,需要的朋友参考一下 这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 如何打印更易读的类 不推荐方式 推荐方式 前一种方式打印的类不易读,不能获取更多的信息。通过类的__repr__方法可以将类打印得更易读。或者不定义__repr__方

  • 本文向大家介绍python使用建议与技巧分享(二),包括了python使用建议与技巧分享(二)的使用技巧和注意事项,需要的朋友参考一下 这是一个系列文章,主要分享python的使用建议和技巧,每次分享3点,希望你能有所收获。 1 如何在if语句中检测多个条件 不推荐方式 推荐方式 可以看到,前一种方式重复代码太多,不推荐。后一种写法更简洁、易读。另外,其实也可以通过any函数实现,如下: 2 如何

  • 我试图了解python类是如何实现的,以及分配给它们会消耗多少内存。所以我创建了一个大的numpy数组,然后将其分配给一个类,然后将该类分配给另一个类(如下所示)。 使用sys。getsizeof似乎无助于获取numpy阵列的内存大小。Numpy数组使用nbytes,但是引用Numpy数组的类没有nbytes作为方法。 如果我更改了,则和会自动更新以反映它。Python文档说明对象别名类似于指针。

  • 本文向大家介绍Python的内存泄漏及gc模块的使用分析,包括了Python的内存泄漏及gc模块的使用分析的使用技巧和注意事项,需要的朋友参考一下 一般来说在 Python 中,为了解决内存泄漏问题,采用了对象引用计数,并基于引用计数实现自动垃圾回收。 由于Python 有了自动垃圾回收功能,就造成了不少初学者误认为自己从此过上了好日子,不必再受内存泄漏的骚扰了。但如果仔细查看一下Python文档

  • 本文向大家介绍粗略分析Python中的内存泄漏,包括了粗略分析Python中的内存泄漏的使用技巧和注意事项,需要的朋友参考一下 引子 之前一直盲目的认为 Python 不会存在内存泄露, 但是眼看着上线的项目随着运行时间的增长 而越来越大的内存占用, 我意识到我写的程序在发生内存泄露, 之前 debug 过 logging 模块导致的内存泄露. 目前看来, 还有别的地方引起的内存泄露. 经过一天的