Python - 获取总内存大小

3

我需要获取内存总容量的大小,以GB为单位(例如8 GB或8.0 GB)。它以字节形式给出,我通过除以1024x1024x1024来将其转换为GB。结果会得到一个小于8的数字(例如7.7)。

如何获得8 GB大小?

注意:我已经使用了psutilfreecat /proc/meminfovmstat,但结果没有改变(我将获取终端输出并进行分割)。我不想使用任何外部程序,如dmidecodelshw

Python 3.8., OS: Debian-like Linux (x64), Kernel: 4.19

2
这个回答解决了你的问题吗?在Python中获取总物理内存 - Glubs
它给出的内存大小比实际内存大小要小。我已经使用了psutil并在第一篇帖子中解释过了。 - demirod
1
BIOS会隐藏物理内存的一部分,用于像图形内存这样的东西。操作系统实际上并不知道实际安装的内存大小。你能做的最好的事情就是四舍五入,这并不太难。我的系统报告0xF6488 KB,四舍五入为16 GB。 - Tim Roberts
@Tim Roberts,我本来想将数字四舍五入,但我不想这样做。在Windows操作系统中,它使用了额外的图形内存(约1 GB)从RAM中。我从dxdiag中检查过了。Windows也显示为8 GB,但Linux没有。还有1 GB的显卡内存(物理)。我不知道Windows和Linux是否从RAM中使用相同数量的图形内存,或者它们之间的差异是多少。也许还有其他一些东西需要存储/使用一些RAM,因此没有显示出来。 - demirod
吉字节(GB)和吉比字节(GiB)之间的混淆?(7.7 GiB = 8.2 GB) - zigarn
没有深入挖掘DSDT,就没有一个确切的答案,而深入挖掘需要其他模块。 - Tim Roberts
1个回答

1

如果没有深入了解BIOS信息,你将无法获取所需的信息,这需要你拥有一些你目前没有的模块。


我找不到以我要求的格式查找RAM值的方法。对于我的问题没有提供完整的解决方案。我接受了你的答案作为答案。 - demirod

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接