总物理内存和 RAM 有什么区别?

总物理内存和 RAM 有什么区别?

我相信这两个术语代表相同的事情,但是我看到不同的值,这让我怀疑总物理内存是否 = RAM + 某些东西?

使用“wmic ComputerSystem get TotalPhysicalMemory”输出总物理内存 8458973184

Windows 系统页面中的 RAM 信息

在此处输入图片描述

我需要监控 RAM 和其他系统相关信息(例如 CPU),因此“wmic”是否可靠或者还有其他好用的东西。

答案1

微软程序员的数学不太好:

8 GB = 8 589 934 592
7.88 GB = 8 461 085 573
TotalPhysicalMemory = 8 458 973 184
8 GB - TotalPhysicalMemory = 8589934592 - 8458973184 = 130 961 408

我们在这里看到的是发布 7.88 GB 这个数字的微软程序员四舍五入,从而产生了大约 130 MB 的内存,而这些内存根本不存在,因为这只是 GB 这个非常大的数字的一小部分。更正确的说法应该是四舍五入,这对于计算和更好的数学来说会更安全,甚至可以添加更多的小数位,从而减少舍入误差。

您可以运行命令systeminfo | findstr Memory来获取更多数字。

TotalPhysicalMemory描述 说:

物理内存的总大小。请注意,在某些情况下,此属性可能无法返回物理内存的准确值。例如,如果 BIOS 正在使用部分物理内存,则结果不准确。要获得准确值,请使用Capacity中的属性Win32_PhysicalMemory

因此,您可以使用 wmic,但您得到的是什么真的不清楚。至少,TotalPhysicalMemory似乎是我发现的所有数字中最小的一个,因此使用它可能是安全的。

答案2

WMIC 计数器TotalPhysicalMemory是已安装 RAM 的子集,Windows 可将其用作普通 RAM。换句话说,您应该根据该数字来评估进程的工作集等数字。它也是系统提交限制的一个因素(另一个因素是当前页面文件大小)。

它不包括任务管理器所称的“硬件保留”。这主要是无法访问的 RAM,因为其地址与固件的地址、I/O 设备定义的“寄存器空间”的地址等相冲突。这就是您购买和安装的 8 GiB 与 WMIC 报告的“总数”之间存在差异的主要原因。

由于您在评论中提到了“空闲”,我应该提到 WMIC 计数器Win32_OperatingSystem.FreePhysicalMemory对应于任务管理器的“可用”显示。这是立即可用的 RAM 量可用的用于满足新分配的硬页面错误,而无需从使用它的进程中获取它,也不必先将任何旧内容复制到页面文件或映射文件等。它是资源监视器显示的“待机”和“空闲”的总和。(是的,他们的术语不一致 - 我想说这是不可原谅的。)

Win32_operatingsystem.FreePhysicalMemory 您只需从中减去即可获得“已使用”的数量Win32_computersystem.TotalPhysicalMemory

相关内容