leon19821015
MS;Linux
posts - 0,comments - 0,trackbacks - 0
    ExchangeServer2003上安装了1GB以上的物理内存,则必须确保ExchangeServer2003可以有效地使用该内存。存储进程启动时执行最佳内存配置检查。如果内存设置不是最佳的,事件查看器中将会出现事件9665。如果存在下列任一条件,则会显示此消息:
  1.服务器正在运行MicrosoftWindows2000Server,并且注册表中的SystemPages值超出了24000到31000这一范围。
  2.服务器具有1GB或更多内存,并且没有/3GB开关。
  3.服务器正在运行MicrosoftWindowsServer2003,具有1GB或更多内存,并且设置了/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
运行MicrosoftSBS的服务器上不会发生内存配置检查。当引发9665事件时,DWORD会作为附加数据写入事件日志中。

虚拟地址空间概念

    ExchangeServer2003中的信息存储(Store.exe)进程可以处理的内存数量是有限制的,这与硬件配置、服务器上的数据库数量以及用户数量无关。此数量称为虚拟地址空间。信息存储区使用的此虚拟地址空间决定ExchangeServer2003邮箱服务器的总体性能和可伸缩性。对于中小型服务器,ExchangeServer2003会自动使平衡达到最佳状态。但是,对于大型服务器,您可能需要手动调整一些优化参数。
如果您的ExchangeServer2003计算机安装了1GB或更多内存,并且如果计算机是邮箱或公用文件夹的宿主,请确保向服务器上的Boot.ini文件添加/3GB开关。如果服务器上没有任何邮箱或公用文件夹(如邮件网关),请不要使用/3GB开关。默认情况下,MicrosoftWindows 2000AdvancedServer和WindowsServer2003操作系统保留2GB虚拟地址空间供内核模式使用,保留2 GB供用户模式使用。特定进程的虚拟地址空间在启动时分配,并且在操作期间随着内存使用的增加而增加。通常情况下,进程实际使用的内存(工作集)大大少于分配给该进程的地址空间。在安装有 1GB 或更多内存的、运行ExchangeServer2003的计算机上,必须修改Windows2000AdvancedServer和WindowsServer2003操作系统,以便有3GB的用户模式内存空间可用。您可以通过在Boot.ini文件中使用/3GB开关来完成此操作。
如果您运行的是Windows2000ServerStandardEdition,请不要设置/3GB开关。Windows 2000 Server Standard Edition 不支持此内存调整开关。如果您这样做,服务器不会生成错误信息,但是设置此开关会导致存在假内存地址空间。如果某个进程试图访问这个较大的地址空间,蓝屏上则会出现一条“Stop”(停止)错误信息,服务器将停止响应。
Windows Server 2003的所有版本(包括WindowsServer2003StandardEdition)都支持 /3GB 调整开关Microsoft 知识库中相应的文章:266096XGEN:Exchange 2000 Requires /3GB Switch with More Than 1 Gigabyte of Physical RAM
如果您在基于WindowsServer2003的计算机上运行ExchangeServer2003,并且设置/3GB开关,则Microsoft建议您在 Boot.ini文件中设置/USERVA=3030参数。这样,服务器上就可以有更多的系统页目录项 (PTE)。有关/USERVA开关的其他信息,请查看Microsoft知识库中相应的文章:
810371XADM:Using the /Userva Switch on Windows 2003 Server-Based Exchange Servers
确保Store.exe进程不会将虚拟地址空间用尽。当虚拟地址空间耗尽时,即使有大量物理 RAM 可用,内存分配也将失败。要解决此问题,您必须重新启动信息存储服务。例如,具有2GB物理RAM、但没有在Boot.ini文件中设置/3GB开关的服务器在Store.exe进程所使用虚拟地址空间达到2GB时将会出现内存不足的情况。在这种情况下,Windows任务管理器可能会显示实际只使用了大约1.5GB的内存。但是,服务器确实内存不足,并且必须重新启动信息存储服务。
当Store.exe进程的虚拟内存不足时,ExchangeServer2003服务器的性能可能会大大降低。当最大的可用虚拟内存块减至32 MB时,事件查看器的应用程序日志中会生成事件ID9582警告事件。如果您看到此事件,下次有机会时最好重新启动Store.exe 进程。如果最大内存块减少的更多,只有16MB,则事件查看器的应用程序日志中会生成事件ID9582错误事件。如果发生此事件,则服务器已接近临界操作条件,下次有机会时必须重新启动服务器。发生此错误后,内存可能会在几个小时内耗尽。如果您没有响应这些事件,可能会遇到下列症状中的一个或多个:
间歇性消息传递故障。
由事件ID12800指示的间歇性 Internet 邮件 (IMAIL) 转换过程故障。
某些支持Exchange的防病毒程序可能会生成错误信息或事件。

最大化虚拟地址空间
    要确保性能和稳定性不会降低,最好监视大型邮箱服务器上信息存储的虚拟地址空间。完成此操作的最简单方法是,在“性能”实用工具中监视MSExchangeIS性能对象的虚拟内存最大块大小计数器。该值以字节为单位进行显示。启动计算机后,通常应查看最大虚拟内存块大小是否明显减少。但是,经过一两天的运作后,该值会接近通常的操作级别。如果最大可用虚拟内存块的值大于200,000,000 字节(大约200MB),则表示服务器运行正常。如果您发现值小于该数值,请更加亲切地监视服务器。如果您遇到虚拟地址空间不足的情况:
如果您安装了1GB或更多物理内存,当服务器满足下列条件时,请确保在Boot.ini文件中设置/3GB开关:
服务器是邮箱或公用文件夹的宿主。
操作系统是Windows2000AdvancedServer或WindowsServer2003。
如果服务器上没有任何邮箱或公用文件夹(如邮件网关),请不要使用/3GB开关。
如果ExchangeServer2003安装在基于WindowsServer2003的服务器上,并且它设置了/3GB开关,请确保在Boot.ini 文件中设置/USERVA=3030开关。如果ExchangeServer2003安装在基于Windows2000的服务器上,请确保该服务器运行的是 Windows2000ServicePack3或更高版本。
如果您安装了1GB或更多物理内存,请在以下注册表项中配置HeapDeCommitFreeBlockThreshold ,然后重新启动服务器:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager值名称:HeapDeCommitFreeBlockThreshold
数值类型:REG_DWORD
值数据:0x00040000(推荐)
默认值:不存在有关如何使用和配置此注册表值的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
315407XADM:The "HeapDecommitFreeBlockThreshold" Registry Key
通常情况下,前面的步骤可以解决虚拟地址空间使用问题。不过,在一些较大的服务器上,您可能必须对“存储数据库缓存大小”进行其他调整,才可重新平衡性能与可伸缩性之间的差距。
存储数据库缓存大小
    存储数据库缓存也称为ESE缓冲区,在数据库事务被提交到存储区之前,该缓冲区为这些事务提供较大的缓存区域。默认情况下,ExchangeServer2003会查询本地计算机的内存配置,然后分配896MB的RAM(如果Boot.ini文件中设置/3GB开关),或者分配576MB 的RAM(如果没有设置/3GB开关)。如果服务器负载过重,或者如果磁盘性能不是最佳,则使用较大的ESE缓冲区会提高系统的总体性能。根据您的配置,您可能必须增加或减小此缓冲区的大小,以便获得最佳的总体性能。如果Exchange Server2003所在的环境中存在其他服务器端程序,则它可能会独占可用的内存资源。“动态缓冲区分配”(DBA) 算法负责在其他程序需要内存时将内存归还给操作系统。不过,您可以通过减小ESE缓冲区手动限制ExchangeServer2003使用的内存。在具有2GB以上内存的服务器上,增加 ESE 缓冲区大小可能会有所帮助。由于虚拟地址空间限制,该值不能大于1,200MB。增加最大缓冲区大小之前,最好使用Windows“性能”实用工具监视具有典型负载的服务器上的内存。为此,请监视以下性能对象和值:
性能对象:进程
性能计数器:虚拟字节
实例:STORE
在性能监视期间收集的信息可提供Store.exe进程已分配的虚拟地址空间的准确值。在Boot.ini文件中设置了/3GB开关的服务器上,“性能”实用工具中显示的值通常小于2.8GB。在Boot.ini文件中设置/3GB开关的服务器上,显示的值通常小于1.8 GB。在安装了1GB或更多内存的服务器上,最好向Boot.ini文件中添加/3GB开关。如果您看到的任一配置的值大于以前注意到的那些值,则不要增加最大缓冲区大小。如果看到的任一配置的值小于以前注意到的那些值,可能需要增加数据库最大缓冲区大小。
例如,如果您的服务器在 Boot.ini 文件中配置了 /3GB 开关,而且性能监视在服务器负载过重时显示 2.5 GB 的虚拟字节计数,则您或许可以将最大缓冲区大小增加 300 MB 左右,使总大小为 1,200 MB。增加缓冲区大小可能会对服务器性能产生不利影响。缓冲区越大,意味着使用的虚拟地址空间越多。因此,如果您的服务器遇到虚拟内存地址空间限制,增加缓冲区大小可能会导致操作系统不稳定。在非常大的邮箱服务器上,可能必须减小默认的缓冲区大小才可防止系统不稳定。


如何修改ESE缓冲区大小
    msExchESEParamCacheSizeMax参数控制ESE缓冲区大小。它的值以页计数的形式表示,并且必须设置为8192的精确倍数才可实现最大效率:
    设置了/3GB开关的服务器上的默认大小:229376(896MB)
    没有设置/3GB开关的服务器上的默认大小:147456(576MB)
    推荐使用的最大值:307200(1.2GB)
    具有地址空间限制的大型服务器上的推荐值:196608(768MB)
注意:如果 ESE 缓冲区大小设置的较大,事务日志的重放速度会大大加快。如果需要进行灾难恢复,可能需要将 ESE 缓冲区大小暂时增大为 307200。
    如果已经将Exchange5.5Serve计算机就地升级到了Exchange2000Server,您可能会注意到为 msExchESEParamCacheSizeMax参数分配了一个异常高的值。在有些服务器上,该值等于2,048MB。在这种情况下,请删除该参数或将其重置为更适当的值。要修改存储数据库缓存大小,请执行下列操作:
   1.
启动“ADSI 编辑”实用工具
   2.在“配置容器[servername.example.com]下”,展开“CN=Configuration, DC=example, DC=com”。
   3.依次展开“CN=Services”、“CN=Microsoft Exchange”、“CN=组织名称”、“CN=Administrative Groups”、“CN=第一个管理组”、“CN=Servers”和“CN=服务器名称”。
    4.在“CN=服务器名称”下,右键单击“CN=InformationStore”,然后单击“属性”。
    5.在“请选择要查看的属性”列表中,单击“两者”。在“请选择要查看的属性”列表中,单击“msExchESEParamCacheSizeMax”。
    6.注意:msExchESEParamCacheSizeMax属性超出了“请选择要查看的属性”列表宽度。确保不要无意中单击“msExchESEParamCacheSizeMin”属性。在“编辑属性”框中,键入要分配给此属性的值。
确保您输入的值是8,192的倍数。单击“设置”,然后单击“确定”。
    7.退出“ADSI 编辑”实用工具,然后留有足够的时间以便将该值复制到整个ActiveDirectory林中。
    8.在Exchange服务器上重新启动MicrosoftExchange信息存储服务.




posted on 2006-08-21 10:14 Leon19821015 阅读(104) 评论(0)  编辑 收藏 引用 所属分类: Exchange
只有注册用户登录后才能发表评论。