从Python中获取总/可用RAM

Alg*_*ias 9 python wxpython

在Python应用程序中,如何以跨平台的方式获取系统的RAM总量以及当前有多少RAM?

理想情况下,可用RAM的数量应该只考虑实际可以分配给Python进程的物理内存.

sun*_*ang 12

您是否尝试过SIGAR - 系统信息收集器和报告器?安装后

import os, sigar

sg = sigar.open()
mem = sg.mem()
sg.close() 
print mem.total() / 1024, mem.free() / 1024
Run Code Online (Sandbox Code Playgroud)

希望这可以帮助


Ton*_*uža 6

对于空闲内存部分,wx库中有一个函数:

wx.GetFreeMemory()
Run Code Online (Sandbox Code Playgroud)

不幸的是,这仅适用于Windows.Linux和Mac端口返回"-1"或提升a NotImplementedError.


Gri*_*ave 6

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)
Run Code Online (Sandbox Code Playgroud)