我希望从一个大的Python代码库生成一个函数运行过程中堆使用率或内存分配的摘要。在
我对heapy很熟悉,在我的代码中对堆的特定点进行“快照”非常有用,但是我发现很难用它生成“内存随时间变化”的摘要。我也使用过line_profiler,但这是在运行时工作的,而不是内存。在
我现在的备用方法是使用massif的Valgrind,但是它缺少Heapy和line_profiler提供的大量上下文Python信息。在Python程序的执行过程中,是否存在后两者的某种组合,以提供内存使用或堆增长的感觉?在
Tags:
我会在程序启动时使用^{} 注册一个自定义跟踪函数。将为每一行代码调用自定义的\u trace_函数。然后您可以使用该函数将heapy或meliae收集的信息存储在一个文件中,以便以后处理。在
下面是一个非常简单的示例,它记录hpy.堆()每秒转换为纯文本文件:
您可能会对memory_profiler感兴趣。在
相关问题 更多 >
编程相关推荐