我想知道我的Python应用程序的内存使用情况,尤其想知道哪些代码块/部分或对象消耗了最多的内存。Google搜索显示商用的是Python Memory Validator
(仅限Windows
)。
开源的是PySizer
和Heapy
。
我没有尝试过任何人,所以我想知道哪个是最好的考虑因素:
提供大多数细节。
我必须对我的代码做最少的修改或不做任何更改。
堆很容易使用。在代码中的某些时候,你必须编写以下代码:
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 模块导致的内存泄露. 目前看来, 还有别的地方引起的内存泄露. 经过一天的