Windows Vista 使用者介面元件所報告的電腦可用實體記憶體總容量值稍有差異

在 Windows Vista 中,使用者介面 (UI) 的數個元件都會顯示電腦的實體記憶體總容量,而各個元件所報告的值都有些許差異。本文將告訴您不同元件報告的值稍有出入的原因。此外,本文也將指出哪個元件顯示的值最精確,並包含有關擷取最精確之值的應用程式發展介面 (API) 的資訊。

簡介

在 Windows Vista 中,報告電腦實體記憶體總容量的 UI 元件包括:

  • [控制台] 中的 [歡迎中心] 項目

  • [控制台] 中的 [系統] 項目

  • [工作管理員] 中的 [效能] 索引標籤

  • [控制台] 中 [效能資訊及工具] 項目的 [檢視和列印詳細資料] 頁面

  • Microsoft System Information (Msinfo32.exe) 工具

每個元件報告的電腦可用 RAM 總容量都有些許差異。之所以發生這個問題,是因為某些元件的設計只會顯示消費者容易辨識的 RAM 容量。此外,每個元件都是由不同團隊、在不同時間、為了特定目的而開發。

例如,當您在 Windows Vista 電腦上檢視下列元件時,可能會發生下列情況:

  • [控制台] 中 [歡迎中心] 項目報告的 RAM 容量是 2.00 GB

  • [控制台] 中 [系統] 項目報告的 RAM 容量是 2046 MB

  • [工作管理員] 的 [效能] 索引標籤報告的 RAM 容量是 2045 MB

  • [控制台] 中 [效能資訊及工具] 項目的 [檢視和列印詳細資料] 頁面報告的 RAM 容量是 2.00 GB

  • [系統資訊] 工具報告的 RAM 容量是 2,045.54 MB

在這些元件中,[系統資訊] 工具報告的實體記憶體總容量值最精確。

如何使用 API 取得實體記憶體總容量值

如果要擷取程式控制下最精確的值,開發人員應該依照下列步驟執行:

  1. 呼叫 GlobalMemoryStatusEx 函數。

  2. 查詢 MEMORYSTATUSEX 結構的 ullAvailPhys 成員。

元件會使用 GlobalMemoryStatusEx 函數,或 GlobalMemoryStatusEx 函數所使用的相同核心技術,以計算電腦的實體記憶體總容量。如果要以程式設計方式取得這個值,請查詢傳遞至 GlobalMemoryStatusEx 函數當做輸入的 MEMORYSTATUSEX 結構的 ullAvailPhys 成員。

在建置某些元件時,GlobalMemoryStatusEx 函數無法使用。不過,所有的元件都會使用相同的方式計算電腦的實體記憶體。各元件之間唯一的不同在於,在 UI 中顯示實體記憶體容量之前所執行的四捨五入計算。

其他相關資訊

如需有關 GlobalMemoryStatusEx 函數的詳細資訊,請造訪下列 Microsoft 網站:

http://msdn2.microsoft.com/en-us/library/aa366589.aspx如需有關 MEMORYSTATUSEX 結構的詳細資訊,請造訪下列 Microsoft 網站:

http://msdn2.microsoft.com/en-us/library/aa366770.aspx 如需有關已安裝 4 GB RAM 之 Windows Vista 電腦的記憶體大小報告的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

929605The system memory that is reported in the System Information dialog box in Windows Vista is less than you expect if 4 GB of RAM is installed

参考

Need more help?

Expand your skills
Explore Training
Get new features first
Join Microsoft Insiders

Was this information helpful?

Thank you for your feedback!

Thank you for your feedback! It sounds like it might be helpful to connect you to one of our Office support agents.

×