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