服务器正在运行 Microsoft Windows 2000 Advanced Server 或 Microsoft Windows 2000 Datacenter Server,具有 1 GB 或更大的物理内存,但是没有在 boot.ini 文件中设置 /3GB 开关。
%26#8226;
服务器正在运行 Microsoft Windows Server 2003 Standard Edition、Microsoft Windows Server 2003 Enterprise Edition 或 Microsoft Windows Server 2003 Datacenter Edition,且注册表中的 SystemPages 值被设置为非 0 值。
%26#8226;
服务器正在运行 Microsoft Windows Server 2003 Standard Edition、Microsoft Windows Server 2003 Enterprise Edition 或 Microsoft Windows Server 2003 Datacenter Edition,具有 1 GB 或更多的物理内存,设置了 /3GB 开关,但 boot.ini 文件中不存在 /USERVA 设置。
%26#8226;
服务器正在运行 Microsoft Windows 2000 Server 或 Microsoft Windows Server 2003 的某个版本,且注册表中的 HeapDeCommitFreeBlockThreshold 值被设置为 0x00040000 以外的值。
运行 Microsoft Small Business Server 的服务器上不会进行内存配置检查。当引发 9665 事件时,一个 DWORD 值会作为附加数据写入事件日志中。
对于不包含任何邮箱或公用文件夹(如邮件网关)的 Exchange Server 计算机,建议您不要在 boot.ini 中设置 /3GB 开关,这与已安装的物理内存大小无关。
%26#8226;
对于同时还充当 Active Directory 域控制器或全局编录服务器的 Exchange Server 计算机,也建议不要在 boot.ini 中设置 /3GB 开关。建议使用专门的 Active Directory 域控制器或全局编录服务器。
%26#8226;
因为 Microsoft Small Business Server 是作为集成的域控制器和 Exchange 服务器安装的,所以在 Small Business Server 环境中运行 Exchange Server 2003 时,也不建议设置 /3GB 开关。但是,本文中描述的其他概念和设置对于 Microsoft Small Business Server 环境中的 Exchange Server 2003 同样适用。
本文的下列各部分包含所有这些设置的推荐设置。
虚拟地址空间概念
Exchange 2003 中的 Exchange 信息存储 (Store.exe) 进程可以处理的内存容量是有限的,这与硬件配置、服务器上的数据库容量以及用户数量无关。此容量称为虚拟地址空间。大多数情况下,信息存储使用的这一虚拟地址空间决定 Exchange Server 2003 邮箱服务器的总体性能和可伸缩性。对于中小型服务器,Exchange Server 2003 会自动实现最佳平衡。但是,对于大型服务器,您可能需要手动调整一些优化参数。
如果 Exchange Server 2003 计算机安装了 1 GB 或更多的内存,且计算机是邮箱或公用文件夹的宿主,请确保向服务器上的 Boot.ini 文件添加 /3GB 开关。如果服务器上没有任何邮箱或公用文件夹(如邮件网关),建议不要使用 /3GB 开关。默认情况下,Microsoft Windows 2000 Advanced Server 和 Windows Server 2003 操作系统保留 2 GB 虚拟地址空间供内核模式使用,保留 2 GB 供用户模式使用。特定进程的虚拟地址空间是在启动时分配的,并且在操作期间会随着内存使用的增加而增加。通常情况下,进程实际使用的内存(工作集)远远少于分配给该进程的地址空间。在安装了 1GB 或更多内存且运行 Exchange Server 2003 的计算机上,必须修改 Windows 2000 Advanced Server 和 Windows Server 2003 操作系统,以便留出 3 GB 的用户模式内存空间。您可以通过在 Boot.ini 文件中使用 /3GB 开关来实现此目的。要在基于 Windows 2000 Advanced Server 的计算机上使用该设置,还必须在以下注册表子项中配置 SystemPages 注册表: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages将 SystemPages 注册表项设置为 0xFFFFFFFF(十六进制)的 DWORD 值。此注册表更改不是必需的,请不要在基于 Windows 2003 的服务器上进行此更改,因为该功能是通过使用 Userva 开关(参见下文中的一节)实现的。
如果您运行的是 Windows 2000 Server Standard Edition,请不要设置 /3GB 开关。Windows 2000 Server Standard Edition 不支持此内存调整开关。如果您设置此开关,服务器不会生成错误信息,但是会导致假内存地址空间的存在。如果某个进程试图访问这个较大的地址空间,蓝屏上则会出现一条“Stop”错误信息,并且服务器将停止响应。
注意:Windows Server 2003 的所有版本(包括 Windows Server 2003 Standard Edition)都支持 /3GB 调整开关。 有关如何设置 /3GB 开关的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 266096 (http://support.microsoft.com/kb/266096/) 当物理 RAM 超过 1 GB 时 Exchange 2000 需要 /3GB 开关 如果在基于 Windows Server 2003 的计算机上运行 Exchange 2003,且设置了 /3GB 开关,则 Microsoft 建议您在 Boot.ini 文件中设置 /USERVA=3030 参数。这样,服务器上就会有更多的系统页表项目 (PTE)。 有关 /USERVA 开关的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 810371 (http://support.microsoft.com/kb/810371/) 在运行 Exchange Server 的 Windows 2003 Server 计算机上使用 /Userva 开关 确保 Store.exe 进程不会用尽虚拟地址空间。当虚拟地址空间耗尽时,即使有大量可用的物理内存,内存分配也将失败。要解决此问题,您必须重新启动信息存储服务。例如,具有 2 GB 物理内存、但没有在 Boot.ini 文件中设置 /3GB 开关的服务器在 Store.exe 进程所使用的虚拟地址空间达到 2 GB 时将会出现内存不足的情况。在这种情况下,Windows 任务管理器可能会显示实际只使用了大约 1.5 GB 的内存。但是,服务器内存不足的情况确实存在,并且必须重新启动信息存储服务。
当 Store.exe 进程的虚拟内存不足时,Exchange Server 2003 服务器的性能可能会大大降低。当最大的可用虚拟内存块减至 32 MB 时,事件查看器的应用程序日志中会生成事件 ID 为 9582 的警告事件。如果您看到此事件,最好在下次有机会时重新启动 Store.exe 进程。如果最大内存块减少得更严重,只剩下 16 MB,事件查看器的应用程序日志中会生成事件 ID 9582 错误事件。如果发生此事件,则意味着服务器已接近临界操作条件,必须在下次有机会时重新启动服务器。发生此错误后,内存可能会在几个小时内耗尽。如果您没有响应这些事件,可能会遇到下列症状:
操作系统是 Windows 2000 Advanced Server 或 Windows Server 2003。
如果服务器上没有任何邮箱或公用文件夹(如邮件网关),建议不要使用 /3GB 开关。
2.
如果 Exchange Server 2003 安装在基于 Windows Server 2003 的服务器上,并且它设置了 /3GB 开关,请确保在 Boot.ini 文件中设置 /USERVA=3030 开关。如果 Exchange Server 2003 安装在基于 Windows 2000 的服务器上,请确保该服务器运行的是 Windows 2000 Service Pack 3 (SP3) 或更高版本。