Memory Profiler

建议使用哪种Python内存分析器? [关闭]

前提是你 提交于 2019-12-27 19:34:29
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我想知道我的Python应用程序的内存使用情况,并且特别想知道哪些代码块/部分或对象占用了大部分内存。 Google搜索显示商业广告是 Python Memory Validator (仅限Windows)。 开源的是 PySizer 和 Heapy 。 我没有尝试任何人,所以我想知道哪一个是最好的考虑: 提供大部分细节。 我必须对代码进行最少或不做任何更改。 #1楼 由于没有人提到它,我将指向我的模块 memory_profiler ,它能够打印内存使用的逐行报告,并且可以在Unix和Windows上运行(最后一个需要psutil)。 输出不是很详细,但目标是概述代码消耗更多内存的位置,而不是对分配的对象进行详尽的分析。 使用 @profile 函数并使用 -m memory_profiler 标志运行代码后,它将打印逐行报告,如下所示: Line # Mem usage Increment Line Contents ============================================== 3 @profile 4 5.97 MB 0.00 MB def my_func(): 5 13.61 MB 7.64 MB a = [1] * (10 ** 6) 6 166.20 MB 152