Python中可用和使用的系统内存?

Python中可用和使用的系统内存?,python,operating-system,cross-platform,Python,Operating System,Cross Platform,可能重复: 如何从Python中获取可用和当前使用的内存?它需要是跨平台的,至少可以在Windows、MacOSX和Linux上工作 我想报告我的应用程序中的用户,他没有足够的可用内存来继续执行下一个操作。似乎很有希望。您应该查看: 您需要内存还是地址空间?因为至少在Windows中,如果仍然有交换空间,则不会出现内存不足的情况-看起来类似于,建议您只需try:。。。除了MemoryError:…@JBernardo捕获内存错误是一项风险很大的业务,通常不起作用。Afak cPython的编写

可能重复:

如何从Python中获取可用和当前使用的内存?它需要是跨平台的,至少可以在Windows、MacOSX和Linux上工作

我想报告我的应用程序中的用户,他没有足够的可用内存来继续执行下一个操作。

似乎很有希望。

您应该查看:


您需要内存还是地址空间?因为至少在Windows中,如果仍然有交换空间,则不会出现内存不足的情况-看起来类似于,建议您只需
try:。。。除了MemoryError:…
@JBernardo捕获内存错误是一项风险很大的业务,通常不起作用。Afak cPython的编写并不是为了优雅地处理内存分配错误(这将是一项非常复杂的工作),即使您能够在
内存错误之后运行任何代码,解释器的状态也不可靠,并且容易出现错误信息和/或干脆失败。您必须安装最新的psutil(此处的版本0.5.0:)以使其正常工作。从pip安装为我安装了4.3.0,但没有phymem_用法()方法。对于ubuntu,我下载了tar.gz文件,然后执行
tar-xvzf psutil-0.5.0.tar.gz
,然后执行
cd psutil-0.5.0
,然后执行
sudo python setup.py安装
。您可以通过执行
导入psutil
打印(psutil.\uu version\uuuuuuuu)来检查您的psutil版本
在使用最新4.3.0版本的Python中,该方法现在是
psutil.virtual_memory()
我想这会告诉您系统内存使用情况。除了当前Python进程之外,有没有其他方法可以获得类似的信息?例如,如果我想执行一项任务,直到为当前Python进程或脚本保留的内存达到95%。有没有一种方法可以做到这一点?也许我可以将您的解决方案与此相结合解决方案?你的建议是什么?但是我如何获得保留给已经使用的Python进程的Python百分比?我如何获得为Python进程保留的总内存?@nbro:为此提出一个新问题,因为你需要的是有趣的;)(你可以在问题中链接这些答案)
>>> import psutil
>>> psutil.virtual_memory()
svmem(total=16717422592, available=5376126976, percent=67.8, used=10359984128, free=1831890944, active=7191916544, inactive=2325667840, buffers=525037568, cached=4000509952, shared=626225152)