注册表编辑器使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为注册表编辑器使用不当而产生的问题。使用注册表编辑器需要您自担风险。本文介绍了运行 Exchange Server 2003 的计算机上的内存使用的优化。
如果运行 Exchange Server 2003 服务器上安装了 1 GB 以上的物理内存,则必须确保 Exchange Server 2003 可以有效地使用该内存。
注意:Exchange Server 2003 在存储进程启动时执行最佳内存配置检查。如果内存设置不是最佳的,事件查看器中将会出现事件 9665。如果存在下列任一条件,则会显示此消息:
服务器正在运行 Microsoft Windows 2000 Server,并且注册表中的 SystemPages 值超出了 24000 到 31000 这一范围。
服务器具有 1 GB 或更多内存,并且没有 /3GB 开关。
服务器正在运行 Microsoft Windows Server 2003,具有 1 GB 或更多内存,并且设置了 /3GB 开关,但是不存在 /USERVA 设置或者该设置超出了 3030 到 2970 这一范围。
如果您看到此事件,请检查注册表中的 SystemPages 和 HeapDeCommitFreeBlockThreshold 设置,并检查 Boot.ini 文件中的 /3GB 开关和 USERVA 设置。本文的下列各部分包含对所有这些设置的推荐设置。 如果您要关闭内存配置检查,可以创建以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\
MSExchangeIS\ParametersSystem
参数:Suppress Memory Configuration Notification
类型:REG_DWORD
设置:1
运行 Microsoft Small Business Server 的服务器上不会发生内存配置检查。当引发 9665 事件时,DWORD 会作为附加数据写入事件日志中。
虚拟地址空间概念
Exchange Server 2003 中的信息存储 (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 Server Standard Edition,请不要设置 /3GB 开关。Windows 2000 Server Standard Edition 不支持此内存调整开关。如果您这样做,服务器不会生成错误信息,但是设置此开关会导致存在假内存地址空间。如果某个进程试图访问这个较大的地址空间,蓝屏上则会出现一条“Stop(停止)错误信息,服务器将停止响应。
注意:Windows Server 2003 的所有版本(包括 Windows Server 2003 Standard Edition)都支持 /3GB 调整开关。 有关如何设置 /3GB 开关的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
266096 XGEN:Exchange 2000 Requires /3GB Switch with More Than 1 Gigabyte of Physical RAM
如果您在基于 Windows Server 2003 的计算机上运行 Exchange Server 2003,并且设置 /3GB 开关,则 Microsoft 建议您在 Boot.ini 文件中设置 /USERVA=3030 参数。这样,服务器上就可以有更多的系统页目录项 (PTE)。 有关 /USERVA 开关的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
810371 XADM:Using the /Userva Switch on Windows 2003 Server-Based Exchange Servers
确保 Store.exe 进程不会将虚拟地址空间用尽。当虚拟地址空间耗尽时,即使有大量物理 RAM 可用,内存分配也将失败。要解决此问题,您必须重新启动信息存储服务。例如,具有 2 GB 物理 RAM、但没有在 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 错误事件。如果发生此事件,则服务器已接近临界操作条件,下次有机会时必须重新启动服务器。发生此错误后,内存可能会在几个小时内耗尽。如果您没有响应这些事件,可能会遇到下列症状中的一个或多个: 序可能会生成错误信息或事件。
最大化虚拟地址空间
要确保性能和稳定性不会降低,最好监视大型邮箱服务器上信息存储的虚拟地址空间。完成此操作的最简单方法是,在“性能实用工具中监视 MSExchangeIS 性能对象的虚拟内存最大块大小计数器。该值以字节为单位进行显示。启动计算机后,通常应查看最大虚拟内存块大小是否明显减少。但是,经过一两天的运作后,该值会接近通常的操作级别。如果最大可用虚拟内存块的值大于 200,000,000 字节(大约 200 MB),则表示服务器运行正常。如果您发现值小于该数值,请更加亲切地监视服务器