从内蟒蛇的应用,如何可以获得的总量RAM的系统和如果它目前是免费的,在一个交叉平台的方式?

理想的是,大量的自RAM应仅仅考虑物理存储器,实际上可以分配给蟒蛇的过程。

有帮助吗?

解决方案

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

import os, sigar

sg = sigar.open()
mem = sg.mem()
sg.close() 
print mem.total() / 1024, mem.free() / 1024

希望这有帮助

其他提示

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)

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

wx.GetFreeMemory()

不幸的是,这仅适用于Windows。 Linux和Mac端口返回“-1”和“-1”。或者引发 NotImplementedError

你不能只用标准的Python库来做这件事,尽管可能有一些第三方软件包可以做到这一点。除此之外,您可以使用os包来确定您所使用的操作系统,并使用该信息获取您希望用于该系统的信息(并将其封装到单个跨平台功能中)。

在windows我用这个方法。它还挺哈克,但它的工作原理使用标准操作系统的图书馆:

import os
process = os.popen('wmic memorychip get capacity')
result = process.read()
process.close()
totalMem = 0
for m in result.split("  \r\n")[1:-1]:
    totalMem += int(m)
print totalMem / (1024**3)
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top