Python 程序有没有办法确定它当前使用了多少内存?我已经看到有关单个对象的内存使用情况的讨论,但我需要的是进程的总内存使用情况,以便我可以确定何时需要开始丢弃缓存的数据。
这是一个适用于各种操作系统(包括 Linux、Windows 等)的有用解决方案:
import os, psutil process = psutil.Process(os.getpid()) print(process.memory_info().rss) # in bytes
笔记:
pip install psutil如果尚未安装,请执行此操作
pip install psutil
如果您很快想知道您的过程需要多少 MB,那么方便的单线:
import os, psutil; print(psutil.Process(os.getpid()).memory_info().rss / 1024 ** 2)
在 Python 2.7 和 psutil 5.6.3 中,它是process.memory_info()[0]相反的(后来 API 发生了变化)。
process.memory_info()[0]