python - 如何查看当前正在使用哪些变量?
问题描述
我目前正在处理一个占用大量内存的图像处理脚本,我很好奇脚本的哪些部分占用了内存的最大部分,以便我可以优化这些部分以便节省总内存使用量(因此能够处理更大的图像)。
但是,在我的脚本中调用了许多不同的子句和不同的处理函数,这使得很难跟踪当前分配了一些(或大量)内存的所有变量。我已经做到了,所以几个函数被称为新生成的进程(使用multiprocessing
),以确保它们在运行后不会留下任何变量。但是,我仍然看到在某些情况下使用了大量内存,并且我希望能够查明哪些变量占用了最大的空间。
我希望有可能以某种方式获得已用内存的报告。我不介意必须安装一些额外的软件包才能实现这一点。
解决方案
我使用模块“memory_profiler”。
pip install memory_profiler
from memory_profiler import profiler
@profiler
def xxx():
print("Hello World!")
推荐阅读
- mysql - 我是新手,并且在我正在从事的学习项目中遇到了一些麻烦
- javascript - 如何使用 AJAX 使用来自视图的信息正确填充模式
- css - 相对位置和绝对位置在 ngFor 中不起作用
- r - 如何过滤具有来自另一个数据帧的相似数据的数据帧?
- python - request.user 的喜欢时间未显示
- python - Python:带有负值的log-lin图
- azure - 无法使用 terraform 在 cosmos db 中设置自动缩放
- javascript - className.remove 不工作。单击按钮时尝试删除活动
- java - IntelliJ 不会从 Maven 依赖项 (JavaFX 17) 加载 javafx 包
- c# - 使用在策略方法中传递的基本参数的具体类型