Python程序有没有办法确定它当前使用了多少内存?我已经看到关于单个对象的内存使用情况的讨论,但我需要的是进程的总内存使用情况,这样我就可以确定何时需要开始丢弃缓存的数据.

推荐答案

Here是适用于各种操作系统(包括Linux、Windows等)的有用解决方案:

import os, psutil
process = psutil.Process(os.getpid())
print(process.memory_info().rss)  # in bytes 

注:

  • 如果尚未安装,请执行pip install psutil

  • 如果您想快速了解您的进程需要多少MB,请使用一行:

    import os, psutil; print(psutil.Process(os.getpid()).memory_info().rss / 1024 ** 2)
    
  • 对于Python2.7和psutil 5.6.3,它是process.memory_info()[0](后来API有了变化).

Python相关问答推荐

使用SciPy进行曲线匹配未能给出正确的匹配

追溯(最近最后一次调用):文件C:\Users\Diplom/PycharmProject\Yolo01\Roboflow-4.py,第4行,在模块导入roboflow中

scikit-learn导入无法导入名称METRIC_MAPPING64'

将输入管道传输到正在运行的Python脚本中

在Mac上安装ipython

使用setuptools pyproject.toml和自定义目录树构建PyPi包

为什么以这种方式调用pd.ExcelWriter会创建无效的文件格式或扩展名?

Python解析整数格式说明符的规则?

numpy卷积与有效

计算分布的标准差

网格基于1.Y轴与2.x轴显示在matplotlib中

在pandas/python中计数嵌套类别

以异步方式填充Pandas 数据帧

统计numpy. ndarray中的项目列表出现次数的最快方法

语法错误:文档. evaluate:表达式不是合法表达式

没有内置pip模块的Python3.11--S在做什么?

多个矩阵的张量积

如何为需要初始化的具体类实现依赖反转和接口分离?

修改.pdb文件中的值并另存为新的

用由数据帧的相应元素形成的列表的函数来替换列的行中的值