首页 > 解决方案 > 如何查看当前正在使用哪些变量?

问题描述

我目前正在处理一个占用大量内存的图像处理脚本,我很好奇脚本的哪些部分占用了内存的最大部分,以便我可以优化这些部分以便节省总内存使用量(因此能够处理更大的图像)。

但是,在我的脚本中调用了许多不同的子句和不同的处理函数,这使得很难跟踪当前分配了一些(或大量)内存的所有变量。我已经做到了,所以几个函数被称为新生成的进程(使用multiprocessing),以确保它们在运行后不会留下任何变量。但是,我仍然看到在某些情况下使用了大量内存,并且我希望能够查明哪些变量占用了最大的空间。

我希望有可能以某种方式获得已用内存的报告。我不介意必须安装一些额外的软件包才能实现这一点。

标签: pythonpython-3.xdebuggingmemorymemory-management

解决方案


我使用模块“memory_profiler”。

pip install memory_profiler
from memory_profiler import profiler

@profiler
def xxx():
  print("Hello World!")

推荐阅读