1
9
我想你在找一个python分析器; 你有很多可以用的,比如 Heapy , profile or cprofile , Pysize 使用Heapy的示例: 您必须在代码中包含以下代码片段:
它会给你输出:
cprofile示例: 你可以这样运行:
输出:
你也可以使用 gc 模块以了解python为什么没有释放您的内存,并要求他使用 gc.collect() . 顺便问一下你有没有看过 numpy ,如果你像你说的那样做繁重的计算,我觉得更合适。 |
2
6
好吧,我找到了。由于没有一个Python mem概要文件提供任何有用的输出(因为它们找不到内存),我非常确定一些外部lib(OpenCV)是mem泄漏的根源。 我可以用这个简单的代码重现mem泄漏:
Python mem调试的其他一些资源非常有趣(在这种情况下没有帮助,但可能对其他人有用): |
Community wiki · 如何调试Python内存故障? 1 年前 |
tuskiomi · 如何为参考提供明确的锈蚀寿命? 2 年前 |
cobb208 · Malloc正在为释放指针引发错误 2 年前 |
mo FEAR · C++ STL映射是否在创建后移动了一个值的位置? 2 年前 |
Pooyanoss · 覆盖类的堆栈分配实例 2 年前 |
TheKing · 为什么数组的地址可以有负值? 2 年前 |
Http2inc · 如何从内存中解析这些二进制数据? 2 年前 |
tifrel · 如何检查已编译类型的表示形式? 2 年前 |
Gabriele · 释放GSL矩阵的正确方法是什么? 6 年前 |
Makogan · 3D纹理大小影响程序输出,不会引发错误 6 年前 |