从Python中获取总内存和可用内存
在一个Python应用程序中,我怎么能以跨平台的方式获取系统的总内存(RAM)和当前有多少内存是空闲的呢?
理想情况下,空闲内存的数量应该只考虑那些可以实际分配给Python程序的物理内存。
5 个回答
6
关于释放内存这一部分,wx库里有一个函数:
wx.GetFreeMemory()
不过很遗憾,这个函数只在Windows系统上有效。在Linux和Mac系统上,要么返回“-1”,要么会抛出一个叫NotImplementedError
的错误。
7
psutil 也是一个不错的选择。不过,它也需要安装一个库。
>>> import psutil
>>> psutil.virtual_memory()
vmem(total=8374149120L, available=2081050624L, percent=75.1,
used=8074080256L, free=300068864L, active=3294920704,
inactive=1361616896, buffers=529895424L, cached=1251086336)
12
你有没有试过 SIGAR - 系统信息收集器和报告工具?安装之后
import os, sigar
sg = sigar.open()
mem = sg.mem()
sg.close()
print mem.total() / 1024, mem.free() / 1024
希望这能帮到你