Wwin2003大于4G内存方法,修改bootini文件的PAE|AWE|3GB参数
Wwin2003大于4G内存方法,修改bootini文件的pae|awe|3gb参数:大家都知道 boot.ini后面可以添加参数,诸如:PAE :使系统能够存取超过4GB的物理内存 3GB :使应用程序能够使用超过2GB的内存,最大3GB AWE :使应用程序能够使用超过3GB的内存。不知以上我理解的对不对,我的问题是:
1. 这几种参数的具体工作是怎样的?
2. 如果我有4GB的内存,PAE和3GB开关能否同时用呢?PAE和AWE能否同时用呢?
3. 既然AWE能让应用程序能够使用超过3GB的内存,是不是3GB就没用了呢,直接使用AWE不就行了
4. AWE一般在什么情况下使用,既然有了AWE,3GB还有用吗?
回答:
标准的 32 位地址最多可映射 4 GB 内存。因此,32 位进程的标准地址空间限制为 4 GB。默认情况下,在 32 位 Microsoft Windows 操作系统中,将为操作系统保留 2 GB 空间,另外 2 GB 空间可由应用程序使用。如果在 Windows Server 的 Boot.ini 文件中指定了 /3gb 参数,则操作系统将仅保留 1 GB 的地址空间,应用程序最多可以访问 3 GB 的空间。
AWE 是 Windows 的内存管理功能的一组扩展,它使应用程序能够使用的内存量超过通过标准 32 位寻址可使用的 2-3 GB 内存。AWE 允许应用程序获取物理内存,然后将非分页内存的视图动态映射到 32 位地址空间。虽然 32 位地址空间限制为 4 GB,但是非分页内存却可以远远大于 4 GB。这使需要大量内存的应用程序(如大型数据库系统)能使用的内存量远远大于 32 位地址空间所支持的内存量。
如果计算机上有 16 GB 以上的可用物理内存,操作系统需要 2 GB 的进程地址空间供系统使用,因此只能支持 2 GB 的用户模式地址空间。为了让 AWE 能够使用 16 GB 以上的内存,应确保 boot.ini 文件中没有 /3gb 参数。否则,操作系统就不能寻址 16 GB 以上的内存。
AWE 允许在 32 位体系结构上分配超过 4 GB 的物理内存。只有当可用物理内存大于用户模式的虚拟地址空间时,才应该使用 AWE。
若要使 32 位操作系统支持 4 GB 以上的物理内存,必须向 Boot.ini 文件添加 /pae 参数并重新启动计算机。
在 Windows Server 2003 中,如果服务器使用热添加内存设备,则 PAE 将自动启用。在这种情况下,不必在配置为使用热添加内存设备的系统中使用 /pae 参数。而在其他任何情况下,都必须在 Boot.ini 文件中使用 /pae 参数才能利用超过 4 GB 的内存。
---- suy
根据我的经验,如果不是使用/PAE开关的话,操作系统无法使用大于4G的物理内存。在通常情况下,对于每个进程,为用户模式进程分配的虚拟地址空间是 2 GB,为操作系统分配的虚拟地址空间是另外 2 GB。如果服务器上有4G的物理内存,您可以通过使用3GB开关来让应用程序比如SQL使用大于2G的内存。
您可以同时启用PAE和3GB这两个开关。
有关PAE、AWE的详细信息,请您参考下面的链接:
Windows Server 2003 和 Windows 2000 提供大内存支持
http://support.microsoft.com/kb/283037/
据我的经验,如果系统使用 Boot.ini 文件中的 /3GB 项重新启动,并且系统的物理内存超过 16 GB,则操作系统不使用额外的物理随机存取内存 (RAM)。也就是说,如果您的物理内存大于16GB的话,我们不建议您使用3G的开关,在这种情况下,操作系统将不使用任何超过 16 GB 的内存。此行为是由内核虚拟内存空间考虑导致的。
如果您的物理内存大于3GB但小于16GB的话,您可以使用/3GB的开关。
AWE 是内存管理器功能的一套应用程序编程接口 (API) ,它使程序能够寻址更多内存 — 超过标准 32 位寻址的 4 GB 内存空间。AWE 使程序能够将物理内存保留为非分页内存,然后将非分页内存部分动态映射到程序的内存工作集。此过程使内存密集型程序(如大型数据库系统)能够为数据保留大量的物理内存,而不必交换分页文件以供使用。相反,数据在工作集中进行交换,并且保留的内存超过 4 GB 范围。此外,超出 4 GB 的内存范围对内存管理器是公开的,并且 AWE 通过 PAE 发挥作用。没有 PAE,AWE 就无法保留超出 4 GB 的内存。