在 Windows Vista 和 Windows Server 2008 中的用户界面组件报告略有不同的值在计算机可用的物理内存总量

适用于: Windows Vista UltimateWindows Vista EnterpriseWindows Vista Business

简介


总物理内存的计算机上将显示在用户界面 (UI) 在 Windows Vista 和 Windows Server 2008 中的几个组件。每个组件报告略有不同的值。本文讨论了为什么不同的组件报告稍有不同的值。此外,这篇文章标识的组件显示的最准确的价值。它还包含了信息检索的最准确的值应用程序编程接口 (API)。

重要:Windows Vista Service Pack 1 (SP1) 对用户界面报告内存的方式组件进行更改。
有关如何在 Windows Vista Service Pack 1 报告内存的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰
946003 Windows Vista Service Pack 1 将报告 4 GB 的系统内存 (RAM),已安装的内存 4 GB 的系统上

详细信息


报告的总的物理内存的计算机的用户界面组件如下所示︰
  • 控制面板中的欢迎中心项目
  • 控制面板中的系统
  • 在任务管理器的性能选项卡
  • "视图和打印详细信息"页上的控制面板中的性能信息和工具
  • Microsoft 系统信息 (Msinfo32.exe) 工具
  • WinVer (Winver.exe) 工具
  • (Dxdiag.exe) 的 DirectX 诊断工具
每个组件报告稍有不同数量的计算机可用的 RAM 总量。出现此现象是因为某些组件设计以显示 RAM 适合使用者的数量。此外,每个组件是由不同的团队开发在不同时间、 针对特定目的。

例如,基于 Windows Vista 的计算机上查看以下组件时可能会遇到以下情形︰
  • 控制面板中的欢迎中心项目报告 2.00 GB 的 RAM
  • 控制面板中的系统项目报告 2046 MB 内存
  • 性能选项卡的任务管理器中报告 2045 MB 内存
  • 控制面板中的性能信息和工具项的"视图和打印详细信息"页报告 2.00 GB 的 RAM
  • 系统信息工具报告 2,045.54 MB 内存
  • WinVer 工具会报告 2,094,856 KB 的 RAM
  • DirectX 诊断工具会报告 2046 MB 内存
这样的组件,将系统信息工具报告总物理内存的最准确值。

系统信息工具报告的物理内存以多种不同方式︰
  • 此时将显示安装的物理内存 (RAM): 总的系统上安装的物理 RAM。
  • 物理内存总量︰ 这显示 Windows 正在使用的内存总量。这可能不同于"已安装的物理内存。"根据内存配置和安装特定操作系统,操作系统可能不能使用已安装的所有物理内存。

    例如,如果系统的内存控制器可以执行高级的内存保护技术,内存控制器可能会保留一些内存镜像或其他容错功能。在其他情况下,Windows 可能无法使用安装由于体系结构或授权限制的所有物理内存。请注意,与 Windows Server 2008 和 Windows Vista Service Pack 1 中包含的系统信息工具的版本包含一个问题,会导致具有 4 GB 以上的总物理内存的系统上的"总物理内存"以被误报。


    有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    950233 Microsoft 系统信息 (Msinfo32.exe) 工具报告不正确的基于 Windows Server 2008 的或基于 Windows Vista Service Pack 1 的电脑上安装的物理内存超过 4 gb 的物理内存量

  • 可用的物理内存︰ 这是多少物理内存的当前可用 (内存未使用的)。

如何使用 API 来获得总物理内存值

若要检索最准确的值,在程序控制下,开发人员应执行以下步骤︰
  1. 调用GlobalMemoryStatusEx函数。
  2. 查询ullAvailPhys MEMORYSTATUSEX结构的成员。
组件使用GlobalMemoryStatusEx函数或相同的GlobalMemoryStatusEx函数用于计算总物理内存的计算机上的内核技术。若要以编程方式获取此值,使用查询作为输入传递给GlobalMemoryStatusEx函数的MEMORYSTATUSEX结构的ullAvailPhys成员。

GlobalMemoryStatusEx函数生成某些组件时不可用。但是,所有组件相同的方式都计算的计算机上的物理内存。组件之间的唯一区别是舍前发生的总物理内存显示在 UI 中。

参考资料


GlobalMemoryStatusEx函数的详细信息,请访问下面的 Microsoft 网站︰有关MEMORYSTATUSEX结构的详细信息,请访问下面的 Microsoft 网站︰有关报告在具有 4 GB 的 RAM 安装基于 Windows Vista 的计算机上的内存大小的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰
929605在 Windows Vista 中的系统信息对话框中报告的系统内存小于预期是否已安装了 4 GB 的 RAM