簡體   English   中英

如何在32位機器上識別超過4 GB的ram

[英]How to identify more than 4 gb ram on 32-bit machine

我知道32位操作系統看不到超過4 GB的RAM。
因此,如果我要在運行32位操作系統的計算機上安裝6 GB的RAM,有什么方法可以識別它嗎?
我知道一種獲取已安裝RAM的方法是通過WMI類:win32_physicalmemory.Capacity
但我不知道它是否會顯示正確安裝的柱塞尺寸而不是支持。
我沒有設置測試這種情況,但如果有人已經知道這一點,請確認。
否則,請告訴我是否有其他方法可以做同樣的事情。 我問這個任何Windows 32位操作系統。

提前致謝。
薩姆拉特帕蒂爾。

32位操作系統可以通過支持PAE的 CPU看到超過4GB的內存。 只是32位地址空間限制為4GB。 但是由於應用程序只能訪問自己的虛擬地址空間,因此無法判斷它分配的內存是存儲在第1或第5 GB的內存中。

在Windows上,您可以使用GetPhysicallyInstalledSystemMemory函數:

函數從計算機的SMBIOS固件表中檢索物理安裝的RAM量。 這可能與GlobalMemoryStatusEx函數報告的數量不同,后者將MEMORYSTATUSEX結構的ullTotalPhys成員設置為可供操作系統使用的物理內存量。

閱讀更多: http//www.geoffchappell.com/viewer.htm?doc = notes / windows / license / memory.htm

WMI將所有內存大小報告為uint64Win32_OperatingSystem文檔中所示

有很好的功能GlobalMemoryStatusEx可以解決你的問題。 它回饋

typedef struct _MEMORYSTATUSEX {
  DWORD     dwLength;
  DWORD     dwMemoryLoad;
  DWORDLONG ullTotalPhys;
  DWORDLONG ullAvailPhys;
  DWORDLONG ullTotalPageFile;
  DWORDLONG ullAvailPageFile;
  DWORDLONG ullTotalVirtual;
  DWORDLONG ullAvailVirtual;
  DWORDLONG ullAvailExtendedVirtual;
}MEMORYSTATUSEX, *LPMEMORYSTATUSEX;

我想你正在尋找ullTotalPhys 所有值都以字節為單位。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM