Windows 超过4G内存管理

转自http://www.fbsky.com/InfoView/Article_77980.html

本文介绍物理地址扩展 (PAE) 和 Address Windowing Extensions(地址窗口扩展,即 AWE)以及它们如何协作。本文还将讨论超出 32 位操作系统所固有的 4 GB 范围的内存使用限制。

PAE 提高了 IA32 处理器处理大于 4 GB 的物理内存的能力。Windows 2000 Advanced Server、 Windows 2000 Datacenter Server、Windows Server 2003, Enterprise Edition 和 Windows Server 2003, Datacenter Edition 可以使用 PAE 来利用超出 4 GB 的物理内存。若要启用 PAE,需要在 Boot.ini 文件中使用 /PAE 参数。

典型情况是,在 Windows 2000 或 Windows Server 2003 下运行的进程最多可以访问 2 GB 的内存地址空间(假设未使用 /3GB 参数),其中一些内存是物理内存,另一些是虚拟内存。运行的程序越多(因而进程也越多),占用的内存地址空间也就越接近 2 GB 这一最大值。

当出现这种情况时,分页进程将显著增加并且会对性能产生负面影响。Windows 2000 和 Windows Server 2003 内存管理器使用 PAE 向程序提供更多的物理内存。这会降低对交换页面文件内存的需要,从而提高了性能。程序本身并不知道实际的内存大小。所有的内存管理和 PAE 内存分配都由内存管理器处理,与运行的程序无关。

当使用 /3GB 参数时,上述信息对于运行的程序有效。要求 3 GB 内存的程序更有可能让其所需的内存有更多部分在物理内存中,而不是在分页的虚拟内存中。这将增强那些能够使用 /3GB 参数的程序的性能。但例外情况是当 /3GB 参数与 /PAE 参数一起使用时。在这种情况下,操作系统将不使用任何超过 16 GB 的内存。此行为是由内核虚拟内存空间考虑导致的。因此,如果系统使用 Boot.ini 文件中的 /3GB 项重新启动,并且系统的物理内存超过 16 GB,则操作系统不使用额外的物理随机存取内存 (RAM)。重新启动计算机时如果不使用 /3GB 参数,将能够使用所有的物理内存。

AWE 是内存管理器功能的一套应用程序编程接口 (API),它使程序能够寻址更多内存 — 超过标准 32 位寻址的 4 GB 内存空间。AWE 使程序能够将物理内存保留为非分页内存,然后将非分页内存部分动态映射到程序的内存工作集。此过程使内存密集型程序(如大型数据库系统)能够为数据保留大量的物理内存,而不必交换分页文件以供使用。相反,数据在工作集中进行交换,并且保留的内存超过 4 GB 范围。此外,超出 4 GB 的内存范围对内存管理器是公开的,并且 AWE 通过 PAE 发挥作用。没有 PAE,AWE 就无法保留超出 4 GB 的内存。

总之,PAE 是 Windows 2000 和 Windows Server 2003 内存管理器的一项功能,它为请求内存的程序提供了更多物理内存。程序并不知道它正使用的内存中有些在大于 4 GB 的范围内,正如程序不知道它请求的内存实际上是在页面文件中一样。

后记,一个客户的两个系统升级到6G的内存,使用了PAE参数,但是按照客户的实际使用情况来说,6G内存并不能给他们带来多少好处,因为系统是为Oracle使用来配置的,而Oracle单个实例最多使用的内存只有1.75G。所以大量内存会闲置。客户会对Oracle进行配置两个实例测试,不过不知道方案是否可行。对于客户的情况,双XEON 700的CPU要负担如此繁重的任务有点力不从心了。

你可能感兴趣的:(oracle,工作,windows,数据库,server,扩展)