可能重复:
内存条,32位和64位操作系统
我的计算机上有一个VMWare虚拟机(主机:Win7 x64,VM:Win7 x86)。主机有8GB,其中我已经为VM分配了4GB,如下面的屏幕截图所示:
但是当我进入VM本身时,计算机似乎认为它只有3 GB - 请参阅任务管理器的截图:
请注意总物理内存为3071 GB。我已经尝试关闭VM并重新启动,但它仍然没有使用额外的内存。
另见我的系统屏幕截图:
这是VMWare的限制吗?或者是否需要翻转一些秘密开关?
可能重复:
内存条,32位和64位操作系统
我的计算机上有一个VMWare虚拟机(主机:Win7 x64,VM:Win7 x86)。主机有8GB,其中我已经为VM分配了4GB,如下面的屏幕截图所示:
但是当我进入VM本身时,计算机似乎认为它只有3 GB - 请参阅任务管理器的截图:
请注意总物理内存为3071 GB。我已经尝试关闭VM并重新启动,但它仍然没有使用额外的内存。
另见我的系统屏幕截图:
这是VMWare的限制吗?或者是否需要翻转一些秘密开关?
Answers:
通常,32位操作系统只能看到4 GB的内存,包括设备(显卡等)。这导致操作系统看到3 GB的物理内存,即使安装了3 GB以上。这适用于物理机和VM。
32位Windows XP,如Windows 2003 Server及更高版本,支持PAE(物理地址扩展),允许它使用超过4 GB的物理内存。由于Windows XP中已存在的驱动程序不兼容性,Windows Vista和Windows 7不再支持PAE。
因此,通常只有64位Windows支持超过3 GB的物理内存和32位版本的Windows支持PAE(Windows 2000,Windows XP,Windows Server 2003,Windows Server 2008); 而不支持PAE(Windows Vista,Windows 7)的32位版本的Windows通常看不到超过3 GB的物理内存。
再次注意,分配给VM的内存计为VM中运行的OS的“物理内存”。
32位机器只能解决(见)3 GB的内存。您的VM可能会授予它4 GB,但它只能使用3 GB。如果要使用剩余空间,请在VM中安装64位操作系统。
有可能VM在主机操作系统中作为32位程序运行,因此它可以正确支持32位客户机。这意味着它受32位限制,因此它可以分配的内存受32位程序上的3GB虚拟地址空间和1GB内核空间限制的约束。
一个很好的博客:http://blogs.technet.com/b/askperf/archive/2007/03/23/memory-management-demystifying-3gb.aspx
从该页面,您的托管程序的地址空间如下所示:
并且您的VM将被锁定在3GB空间中,因为32位程序需要最终GB才能访问主机上的系统驱动程序。