我在寻找python内存调试技巧? 基本上我正在寻找可用于python的工具,看看当python进程占用大量内存时我们可以看到什么数据? 我的目标是隔离这样的记忆进食过程和转储统计。
答案 0 :(得分:0)
查看guppy
from guppy import hpy
import networkx as nx
h = hpy()
L=[1,2,3]
h.heap()
> Partition of a set of 89849 objects. Total size = 12530016 bytes.
> Index Count % Size % Cumulative % Kind (class / dict of class)
> 0 40337 45 3638400 29 3638400 29 str
> 1 21681 24 1874216 15 5512616 44 tuple
> 2 1435 2 1262344 10 6774960 54 dict (no owner)
这将有助于告诉您使用大量内存的方法。
当对象不再可访问时,Python会清除内存 - 程序中没有任何内容指向它。有时你可能想知道究竟什么仍然指向一个特定的对象。为此,您可以查看this question,它告诉您如何找出仍然指向对象的内容。