Windows Server 2003的32位企业版支持4G以上内存

转载 2012年03月29日 15:30:11

很多朋友是为了使用4G以上的内存才安装了WINDOWS2003企业版,可是装好了之后却发现系统所使用的内存只有3G多,是不是WINDOWS2003企业版32位,不支持大于4G以上的内在?其实不是!“newswan”发的帖子很好,对于英文不好的朋友,完全看明白还是有点难度的。下面,简单给大家提供一点参考,2003是支持4G以上的内存的,但是在默认的情况受32位的限制,不能使用4G以上的内存,要想完全使用4G以上内存就要靠PAE和AWE来解决32 位操作系统所固有的4G范围的内存使用限制。
PAE即物理地址扩展,Windows 2003 内存管理器使用 PAE 向程序提供更多的物理内存。程序本身并不知道实际的内存大小。所有的内存管理和 PAE 内存分配都由内存管理器处理,与运行的程序无关。
AWE即地址窗口化扩展,是内存管理器功能的一套应用程序编程接口 (API),它使程序能够寻址更多内存 — 超过标准 32 位寻址的 4 GB 内存空间。
对于PAE和AWE要注意的是:PAE即物理地址扩展是Windows 2003 内存管理器的一项功能,也就是说其是基于系统的,而AWE即地址窗口化扩展是一套应用程序编程接口 (API)。
在 Windows Server 2003 中,当服务器使用热插拔内存设备时,会自动启用 PAE。而对于我们普通人来说不可能会使用价格高昂的服务器机器,必须在 Boot.ini 文件中使用 /PAE 开关来利启用 PAE。使用大于 4GB 的内存。
以下是一个 Boot.ini 文件的示例,其中已添加了 PAE 开关:
[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Windows Server 2003, Enterprise" /fastdetect /PAE


一台新服务器,内存配置有4GB,开机也正确显示4G,但安装了WIN2003SP1以后,系统显示只有3.37G,原以为内存有硬件故障,后经检查,按如下做。
1.打开系统中的大内存支持(windows)
    若要启用 Windows 2000 Advanced Server 或 Windows 2000 Datacenter Server 支持
大于4GB的物理内存,必须将参数 /pae 添加到 boot.ini 文件中。
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server"
/fastdetect
改为
[boot loader]
timeout=0
default=multi(0)disk(0)rdisk(0)partition(1)\WINNT
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINNT="Microsoft Windows 2000 Advanced Server"
/fastdetect /PAE
这个改好后,要重启系统的
2.启用锁定内存页选项(windows)
启用锁定内存页选项
在"开始"菜单上单击"运行"子菜单,然后在"打开"框中键入"gpedit.msc"。
在"组策略"控制台上,展开"计算机配置",然后展开"Windows 设置"。
展开"安全设置",然后展开"本地策略"。
选择"用户权限分配"复选框。
详细资料窗格中随即显示出策略。
在详细资料窗格中,双击"锁定内存页"。
在"本地安全策略设置"对话框中,单击"添加"按钮。
在"选择用户或组"对话框中,添加有权运行 sqlservr.exe 的帐户。

3.启用SQL的AWE
    若要启用 AWE,请将 awe enabled 设置为 1。除非指定了 max server memory 的值,否
则 SQL Server 将保留几乎所有可用内存,只留下 128 MB 或更少。

    如果已成功启用该选项,则当 SQL Server 2000 实例启动时,SQL Server 错误日志中将
出现"已启用地址窗口扩展"这条消息。

    awe enabled 是高级选项。如果正在使用 sp_configure 系统存储过程更改该设置,则只有
当 show advanced options 设置为 1 时才能更改 awe enabled。
code 如下,设定SQL 使用6G的内存
sp_configure 'show advanced options', 1
RECONFIGURE
GO
sp_configure 'awe enabled', 1
RECONFIGURE
GO
sp_configure 'max server memory', 6144
RECONFIGURE
GO
必须重新启动 SQL Server 2000 实例才能使更改生效。
net stop mssqlserver
net start mssqlserver
这样,SQL 服务启动后,就会把6G的内存给锁定,完全供SQL使用
    仅 Windows 2000 Datacenter Server、 Windows 2000 Advanced Server、Windows Server 2003、Enterprise Edition 和 Windows Server 2003 Datacenter Edition 支持 PAE。 在 32 位 Windows 中,默认情况下将禁 用 PAE,并且必须在 BOOT.INI 文件中设置 /pae 引导参数才可启用 PAE
    为什么要这样做呢,因为32位的系统只能寻址到4G的内存空间,通过修改BOOT文件 可以把其余内存做为可扩展物理内存 但是如果自己内存刚好为4G的话 就不建议修改了 效果不是很理想
    硬件支持最大的内存容量可以这么算:支持最大内存容量=2的N次方位。
    32位硬件支持的最大内存容量换算下来就是2的32次方,换算下来就是4G,64位硬件支持的最大内存容量是2的64次方,换算下来就是16EB=16*1024PB=16*1024*1024TB=16*1024*1024*1024GB。

操作系统内存支持
Windows
    WindowsNT4.0 Server与Enterprise版都属于32位服务器操作系统,支持最大内存都只有4G 。
  Windows2000系列服务器版操作系统可支持容量最高的是数据中心版,可支持32G;高级服务器版只支持最高8G的内存容量;2000普通服务器版只支持最高4G的内存容量。
  Windows2003Enterprise支持最高32G的内存。
  新推出的64位Vista最高版本支持最大128G内存。
Linux
  Linux的Kernel内核属于32位,也只支持最大4G内存。
  Linux的Bigmem和Smp内核,属于64位操作系统,可支持最大64G内存。
   一些操作系统在内核代码中限制了内存位宽,所以就算是64位操作系统,不同的版本在默认情况下,也都只支持特定的最大内存容量,需要进行PAE扩展设置 以达到最大支持的内存容量。比如在Windows2003Enterprise中,如果直接插入4G内存,不进行任何更改,那系统辨认出来的物理内存可能 只有3G出头,需要在系统引导文件里设置pae内存扩展支持。
    x86的32架构允许的最大内存寻址空间为4GB。Intel Physical Address Extension(PAE)是36位内存寻址模式,允许32系统寻址能力超过4GB。

    PAE需要适当的硬件和操作系统支持。处理器为Intel Pentium Pro以上,操作系统支持Windows NT 4.0企业版,Windows 2000高级服务器版和数据中心版,以及Windows Server 2003企业版和数据中心版。

    Windows使用PAE的4KB页面映射64GB物理内存到32位(4GB)虚拟地址空间。Windows 2000和Windows Server 2003中允许PAE的方式是在BOOT.INI中加/PAE开关。
    Address Windows Extensions(AWE)是Windows APIs的一个集,可以从PAE方式获益,让应用程序可以直接访问超过4GB的物理内存。一些程序如SQL Server 2000企业版,使用了这些API来编写,可以在每个处理器的内存寻址超过2G时获得很大性能提升。
编辑BOOT.INI文件激活PAE的方法如下:
打开控制面板中的系统
选择高级
在启动和恢复页点击设置按钮
点击编辑,记事本打开BOOT.INI文件
编辑ARC路径并在后面添加/PAE开关

 

 1、理论上32位系统理论上只能支持最高4G内存吗?
答:看起来是这样没错,但微软已经告诉我们事实并非如此——企业版、数据中心版的Windows分别支持最大32G和64G内存。

2、我的计算机有4G内存,可为什么系统告诉我内存只有3.x G?
答:由于部分主板芯片组将其他硬件的物理地址映射在4G内存地址内进行管理,使得这些计算机通常能识别并使用最大内存容量在3.25-3.75G之间。如果要让系统识别出完整的4G内存,你的主板必须支持一种叫做“PAE(物理地址扩展)”的技术。

3、我的主板支持PAE,为什么还是无法使用全部的4G内存?
答:这是因为操作系统的限制,目前32位的Windows里,只有服务器版本(2003/2008)支持4G或以上的内存(Windows Server 2003 Web版只支持2G内存),并且需要在系统的启动项末尾添加/PAE选项(在boot.ini中编辑)。

4、32位系统下,单个进程能够访问的内存最大是多少?
答:32位Windows操作系统下单个进程用户模式内存访问的限制是2G,如果在boot.ini中设置了/3G开关,则最大为3G,超过3G将无法访问。

5、如何让单个进程访问大于2G/3G的内存?
答:32位操作系统下只有通过 AWE的方式来扩展内存。AWE (Address Windowing Extensions)是 Windows 的内存管理功能的一组扩展,它使应用程序能够使用的内存量超过通过标准 32 位寻址可使用的 2-3 GB 内存。AWE 允许应用程序获取物理内存,然后将非分页内存的视图动态映射到 32 位地址空间。虽然 32 位地址空间限制为 4 GB,但是非分页内存却可以远远大于 4 GB。这使需要大量内存的应用程序(如大型数据库系统)能使用的内存量远远大于 32 位地址空间所支持的内存量。


Windows各版本支持的内存容量(物理内存)
Windows各版本支持的内存容量(物理内存)
Windows 2000 数据中心版:32G
Windows 2000 高级服务器版:8G
Windows 2000 专业版:4G
Windows Server 2003 32位 Web版:2G
Windows Server 2003 32/64位 标准版:4G/32G
Windows Server 2003 32/64位 企业版:32G/1TB
Windows Server 2003 32/64位 数据中心版:64G/1TB
Windows XP/Vista 32位:<4G
Windows XP 64位:32G
Windows Vista 64位:128G
Server2008 R2没有32位版本
老版支持:
最大内存(32-bit): 4GB RAM (标准版)或 64GB RAM(企业版和数据中心版)
最大内存(64-bit): 32GB RAM (标准版)或 2TB RAM(企业版,数据中心版和Itanium-Based版)


让WINDOWS SERVER 2003突破4G内存

WINDOWS SERVER 2003 标准版最大只支持4G内存,要支持4G以上只能上企业版及以上版本,并且需要修改boot.ini文件。 Windows Server 2003 Enterpri...
  • jlds123
  • jlds123
  • 2011年03月11日 15:14
  • 3031

让windows 2003 x86支持4G以上内存

若要启用 Microsoft SQL Server 地址窗口化扩展插件 (AWE): (a)必须使用已指定“锁定内存页”选项的 Microsoft Windows 帐户运行 SQL Server 2...
  • JOEMAIL
  • JOEMAIL
  • 2012年09月19日 22:35
  • 3169

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

ollydbg找到主程序入口

通常用OllyDBG打开一个程序之后,并没有直接跳到程序主函数入口地址,而是在进行一些初始化工作,这个是需要跳过的。      如果你对反汇编比较熟悉的话可以直接找函数入口地址:      1. ...
  • ccxiaop
  • ccxiaop
  • 2012年08月12日 11:48
  • 754

如何将自己的本地电脑变成可供外网访问的服务器

背景:有些朋友开发了一些不错的demo或者项目,想展示给别人看(尤其是学生演示项目),当直接把工程发给对方的话,如果对方不是开发人员,想要看到你的作品那就太不方便了。这个时候你可能想要是有一台自己的虚...

Windows Server 2003 SP2 企业版 ISO 下载

点评:Windows Server 2003 SP2 企业版 ISO 下载,标准版一般用户个人电脑,企业版主要用于服务器,所以大家可以自行选择。 Windows Server 2003 SP2 企业...
  • gayayzy
  • gayayzy
  • 2011年11月16日 14:12
  • 3409

为Windows Server 2003 提供大内存支持

本文介绍物理地址扩展 (PAE) 和地址窗口化扩展 (AWE) 并解释它们如何协同工作。本文还将讨论超出 32 位操作系统所固有的 4 GB 范围的内存使用限制。   PAE 提高了 IA32 处理...

在64位的windows server 2003运行IIS6运行32位的.NET程序

刚买了个服务器支持64位的Windows2003于是想爽一下,装IIS6,只能装64位的NET frameWork   在XP32位下用VS2005发布两个网站: A、基于于SQL2000 B、...

Windows Server2003企业版电子教程

  • 2009年12月16日 19:46
  • 656KB
  • 下载

windows server 2003 中oracle10g安装

  • 2012年11月20日 10:13
  • 3.46MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Windows Server 2003的32位企业版支持4G以上内存
举报原因:
原因补充:

(最多只允许输入30个字)