如何查看当前正在使用哪些变量?

How to see which variables are currently in use?

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

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

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

我使用模块“memory_profiler”。

pip install memory_profiler
from memory_profiler import profiler

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