如何优化 Exchange Server 2003年中的内存使用情况

文章翻译 文章翻译
文章编号: 815372 - 查看本文应用于的产品
注意
这篇文章是合并的以下文章:
316739 如何使用 /3GB 开关足以为调整的用户模式空间为 2 GB 到 3 GB 之间的值

823440 使用 /3GB 开关在 Exchange Server 2003年在基于 Windows Server 2003 系统上

810371 在运行 Exchange Server 的基于 Windows Server 2003 的计算机上使用足以为
展开全部 | 关闭全部

概要

本文介绍在您运行的 Exchange Server 2003年的计算机上的内存使用情况的优化。

更多信息

重要提示此部分、方法或任务包含告诉您如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重问题。因此,请确保仔细按这些步骤操作。为增加保护,先备份注册表再对其进行修改。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows XP 中备份和还原注册表

如果有 1 千兆字节 (GB) 或多个运行的 Microsoft Exchange Server 2003年的服务器上安装的物理内存 (RAM) 时,必须确保 Exchange 2003 可以使该内存的有效使用。

注意当存储进程启动时,Exchange 2003 将执行最佳内存配置检查。如果内存设置不是最佳的将会在事件查看器中记录事件 9665。记录此消息后,如果一个或多个下列条件都为真:
  • 服务器在运行任何版本的 Microsoft Windows 2000 Server,并在注册表中的 SystemPages 值超出范围的24000设置为31000

    注意SystemPages 子项位于以下位置:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages
  • 服务器正在运行 Microsoft Windows 2000 高级服务器或 Microsoft Windows 2000 的数据中心服务器,有 1 GB 或更多物理内存,但没有/3GB开关 boot.ini 文件中的设置。
  • 服务器运行的 Windows Server 2003 标准、 Windows Server 2003 企业或 Windows 服务器 2003年数据中心版,并在注册表中的 SystemPages 值设置为0以外的值。
  • 服务器运行的 Windows Server 2003 标准版、 Windows Server 2003 企业版或 Windows Server 2003 数据中心版,有 1 GB 或更多物理内存并设置/3GB开关。但是, /USERVA设置不存在 boot.ini 文件中。
  • 服务器在运行任何版本的 Microsoft Windows 2000 Server 或 Windows Server 2003 中,并在注册表中的HeapDeCommitFreeBlockThreshold值设置为0x00040000以外的内容。

    注意0x00040000 是一个十六进制的值。在注册表中的HeapDeCommitFreeBlockThreshold值,应该键入 40000 (十六进制)。

在服务器上运行的 Microsoft 小型企业服务器,未出现内存配置检查。当引发 9665 事件时,一个 dword 值是作为附加数据写入事件日志中。

如果您想要了解哪些设置设置得不正确,则运行 Exchange 最佳实践分析工具运行状况检查将报告必须更改哪些设置。有关详细信息,请访问下面的 Microsoft 网站:
Microsoft Exchange 最佳做法分析器 v2.8
如果要关闭内存配置检查,可以创建以下注册表项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem

禁止显示内存配置通知的参数:
REG_DWORD的类型:
设置: 1

警告我们做不 recommendthis 配置,如 itcould 导致在服务器性能下降,因为它会隐藏来自管理员的潜在警告事件。

注释
  • 对于 Exchange Server 计算机不包含任何邮箱或公用文件夹例如,邮件网关时,我们建议不要在 boot.ini,独立于安装的物理内存大小设置/3GB开关。
  • 在同一时间活动目录域控制器或全局编录服务器的 Exchange Server 计算机的我们还建议不要在 boot.ini 设置/3GB开关。我们建议让专职的活动目录域控制器或全局编录服务器。
  • 因为 Microsoft 小型企业服务器安装为一个集成的域控制器和 Exchange 服务器,我们还建议不要在小型企业服务器环境中运行 Exchange Server 2003年时设置/3GB开关。但是,其他概念和本文中描述的设置同样适用到 Exchange Server 2003年在 Microsoft 小型企业服务器环境中。

本文的以下各节包含有关每个设置的建议。

要在 Windows 2000 服务器/Exchange Server 2000年上检查的事项
要在 Windows Server 2003/Exchange Server 2003年中检查的事项
虚拟地址空间概念

独立于硬件配置、 数据库数和服务器上的用户数,在 Exchange 2003 中的 Exchange 信息存储 (Store.exe) 过程有一定数量的内存,它所能解决。此金额被称为虚拟地址空间。在大多数情况下,此信息存储的虚拟地址空间的使用情况规定的整体性能和可扩展性的 Exchange Server 2003年邮箱服务器。对于小型到中型服务器,Exchange Server 2003年会自动将最佳的平衡。但是,对于较大的服务器,您可能想要手动调整一些优化参数。


/ /3GB 开关

如果 Exchange Server 2003年的计算机具有 1 千兆字节 (GB) 的内存或安装的详细信息,如果该计算机是家庭对邮箱或公用文件夹,请确保将/3GB开关添加到 Boot.ini 文件在服务器上。如果服务器有任何邮箱或公共文件夹,如邮件网关,我们并不建议使用/3GB开关时。默认情况下,Microsoft Windows 2000 高级服务器和 Windows Server 2003 操作系统可以保留 2 GB 的虚拟地址空间,为内核模式的使用和 2 GB 的用户模式。一个特定进程的虚拟地址空间在启动时分配,并随着操作过程中使用更多内存。通常,一个进程的实际内存使用量 (工作集) 是比分配给该进程的地址空间少得多。在计算机上运行 Exchange Server 2003年为 1 GB 或更多的内存,必须修改 Windows 2000 高级服务器和 Windows Server 2003 操作系统以便该 3 GB 的用户模式内存空间可用。您可以通过使用 Boot.ini 文件中的/3GB开关来执行此操作。

使用此开关可减少以下系统池中可用的内存:
  • 非页面缓冲的池
  • 页面缓冲的池
  • 系统页表项 (Pte)

如果池中的内存减少过特定的服务器安装中,服务器或应用程序可能会生成一个错误,或似乎停止响应。

例如,具有 2 GB 的物理 RAM 不使用3 GB的 Exchange 服务器切换在 Boot.ini 文件会耗尽内存,当 Store.exe 虚拟地址空间达到 2 GB。Windows 任务管理器显示实际使用只有大约 1.5 GB。但是,服务器会,事实上,是内存不足。您可以使用性能监视来监视虚拟地址的消耗情况。添加 Store.exe 进程,以确保准确的读数的虚拟空间的虚拟字节计数器。Store.exe 进程是必须监视只交换过程。其他 Exchange 进程不增长足够大,会造成任何问题。


系统页

还可以修改 /3GB 开关,Windows Server 2003 的计算机或基于 Windows 2000 高级服务器的计算机上,您还必须配置SystemPages注册表中的以下注册表子项:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\SystemPages
对于基于 Windows 2000 高级服务器的计算机,将 SystemPages 注册表项设置为 24000 和 31000 之间一个 DWORD 值 (十进制),然后单击确定。如果您不确定要使用的值,我们建议您使用 31000 (十进制)。有关详细信息,请访问下面的 Microsoft 网站:
SystemPages 设置太高
此注册表更改不是必需的也请不要在基于 Windows 2003 的服务器上因为此功能通过在后面的一节中使用足以概括的。基于 Windows 2003 的服务器应该SystemPages值设置为 0 以实现最佳配置。

如果您运行的 Windows 2000 Server 标准版,则不设置/3GB开关。此内存调整交换机不支持 Windows 2000 Server 标准版。但如果这样做,服务器不会生成一条错误消息,设置此开关的结果是假内存地址空间将存在。当某个进程试图访问这个较大的地址空间时,出现停止错误时出现停止错误消息,并在服务器停止响应。

注意包括 Windows Server 2003 标准版的 Windows Server 2003 的所有版本都支持/3GB开关的调整。有关如何设置/3GB开关的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
266096 Exchange 2000 要求 /3GB 开关使用多个 1 千兆字节的物理 RAM
由于 Exchange Server 使用/3GB开关进行缩放,因此 Exchange Servercannot 高效地使用 4 GB 以上的 RAM。Exchange Server 不支持实例化,物理地址扩展 (PAE) 或地址窗口化扩展插件 (AWE)。因此,4 GB 的 RAM 是内存的最大的 Exchange Servercan 高效地使用量。


/ USERVA 开关

足以为为 Windows Server 2003 的新增功能,并提供更好的详细信息拆分用户模式和内核模式之间的内存分配。此行为允许您将服务器用于更多的用户,而没有耗尽系统资源的风险。使用/USERVA开关时,您可以自定义使用/3GB开关时分配内存的方式。数字以下/USERVA =是在将分配给每个进程的兆字节 (MB) 中的内存量。如果您设置3 GB /USERVA = 3030,这保留 3,030 MB 的进程空间中,当使用/3GB开关仅与 3,072 MB 的内存。保存设置时 42 MB /USERVA = 3030用来增加内核内存空间、 释放系统页表项 (Pte)。PTE 内存池 3 GB (由/3GB开关指定) 和分配的值之间的差异将增加到足以为

最好是您配置的所有基于 Windows Server 2003 的服务器运行 Exchange,并使用/3GB开关也都使用配置的/USERVA = 3030开关来启用多个整体系统页表项 (PTE) 的服务器上。安装基于 Windows Server 2003 的服务器后,您必须修改 Boot.ini 文件中添加3 GB/USERVA = 3030参数启动行。例如:
[引导加载程序]
超时时间 = 30
默认值 = 多 (0) 磁盘 (0) (0) rdisk 分区 (2) \WINNT
[操作系统]
多 (0) 磁盘 (0) (0) rdisk 分区 (2) \WINNT="Microsoft Windows Server 2003"/fastdetect 3 GB /USERVA = 3030
注意2,970 MB 和 3,030 MB 之间设置值时,Exchange 服务器只支持/USERVA参数。不支持值小于 2,970 MB 或大于 3,030 MB。只有在极端低 PTE 情况下应使用小于 2,970 mb 的值。对于 Exchange 服务器的推荐的默认值是 3,030 MB。如果 Pte 不得不增加,直到 Pte 是大于 12000 应减少 64 MB 的步骤在此值。理想情况下,建议量更大的值在任何给定的服务器上提供更多的提升空间。/USERVA中较小的数会导致更大的系统页的分配。不能修改的值低于/USERVA = 2800年以获得更多的 Pte。相反,请联系 Microsoft 客户支持服务。


监视可用的系统页表项

您可以直接使用性能监视器来查看低 Pte。查找对象可用系统页表项下内存计数器。小于 8000 的值太低,并可能导致服务器不稳定问题。因此,足以为必须调整下,以增加服务器 Pte 的总体数量。可用的系统 Pte 的目标值是 12000 或更大。

当在 Store.exe 进程的虚拟内存不足时,Exchange Server 2003年服务器的性能会显著降低。当最大的可用虚拟内存块减至 32 MB 时,事件查看器的应用程序日志中生成事件 ID 9582 警告事件。当您看到此事件时,则最好重新启动 Store.exe 进程在下次有机会。如果最大内存块减少更多,16 MB,事件查看器的应用程序日志中生成事件 ID 9582 错误事件。如果发生此事件时,服务器已接近临界操作条件,并在下一次机会,必须重新启动。发生此错误后,在几个小时可能耗尽内存。如果您没有响应这些事件,您可能会遇到一个或多个以下症状:
  • 间歇性消息传递失败。
  • Internet 邮件 (IMAIL) 转换过程所指示的事件 ID 12800 间歇性故障。
  • 某些 Exchange 感知的防病毒程序可能会生成错误消息或事件。

删除不必要的视频驱动程序

Exchange 服务器通常不需要功能强大的图形卡或驱动程序。您应该确保只有默认 VGA 驱动程序安装在服务器上,以帮助增加任何给定的服务器可用 Pte。此外,您还应添加/BASEVIDEO切换到 Boot.ini 启动参数。这还会强制 windows 使用更少的资源密集型默认 VGA 驱动程序。找到要保存大约 1000 个系统 Pte 或更多。

除了切换到默认 VGA 驱动程序时,我们还建议以删除任何可能同原始视频卡驱动程序一起安装的图形卡加速器驱动程序。这些附加的驱动程序需要可以减少可用于操作系统的系统池的内存的宝贵资源。

最大化虚拟地址空间

它是最适合用来监视虚拟地址空间的邮箱服务器上信息存储,以确保性能和稳定性不会降低。若要执行此操作的最简单方法是监视MSExchangeIS性能对象性能实用程序中的 VM 最大块大小计数器。该值以字节为单位显示。启动计算机后,通常会看到最大的虚拟内存块大小明显减少。但是,经过一两天的操作后,该值会接近通常的操作级别。最大可用虚拟内存块是大于 200000000 字节 (大约 200 MB) 的值指示正常的服务器。如果您注意到较小的值,这比,更加密切地监视服务器。如果您遇到一个较低的虚拟地址空间:
  1. 如果有 1 GB 或更多物理安装的内存,请确保服务器满足下列条件时 Boot.ini 文件中设置/3GB开关:
    • 服务器是主邮箱或公用文件夹。
    • 操作系统是 Windows 2000 高级服务器或 Windows Server 2003。

    如果服务器有任何邮箱或公共文件夹,如邮件网关,我们并不建议使用/3GB开关时。
  2. 如果 Exchange Server 2003年已经安装在基于 Windows Server 2003 的服务器上,并且它具有设置 /3GB 开关,请确保/USERVA = 3030Boot.ini 文件中设置了开关。如果在基于 Windows 2000 的服务器上安装 Exchange Server 2003年,请确保服务器正在运行 Windows 2000 Service Pack 3 (SP3) 或更高版本。
  3. 如果您有 1 GB 或更多物理安装的内存,配置HeapDeCommitFreeBlockThreshold注册表值在以下注册表项,,然后重新启动服务器:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager

    值名称: HeapDeCommitFreeBlockThreshold
    值类型: REG_DWORD
    值数据: 0x00040000 (推荐)
    值默认值: 无
    有关如何使用和配置此注册表值的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    315407 "HeapDecommitFreeBlockThreshold"的注册表项
通常情况下,前面的步骤可以解决虚拟地址空间使用问题。但是,在一些较大的服务器,可能需要执行进一步的调整存储数据库缓存大小,以重新调整性能与可伸缩性之间的平衡。

存储数据库缓存大小

存储数据库缓存也称为 ESE 缓冲区,并且它提供较大的缓存区域数据库事务提交到存储区之前。默认情况下,Exchange Server 2003年查询本地计算机的内存配置,然后分配 896 MB 的 RAM,如果在 Boot.ini 文件中,设置/3GB开关或 576 MB 的 RAM 如果/3GB开关未设置。如果服务器负载过重,或者如果磁盘性能不是最佳,使用较大的 ESE 缓冲区会增加系统的整体性能。这取决于您的配置,您可能需要增大或减小此缓冲区,以获得最佳的总体性能的大小。

在 Exchange Server 2003年使用位置的环境中共同存在与其他服务器端程序的情况下,它可能独占可用的内存资源。动态缓冲分配 (DBA) 算法负责返回到操作系统的内存,如果其他程序需要它。但是,您可以手动限制 Exchange Server 2003年将使用通过减少 ESE 缓冲区的内存。

警告在具有 2 GB 以上内存的服务器中,则有助于增加 ESE 缓冲区的大小。由于虚拟地址空间限制,此值必须设置大于不得超过 1200 MB。

增加最大缓冲区大小之前,我们建议使用 Windows 性能实用程序来监视在正常负载情况下服务器的内存。若要执行此操作,请监视以下性能对象和值:
性能对象: 过程
性能计数器: 虚拟字节
实例: 存储区
信息收集性能监视使您 Store.exe 进程分配的虚拟地址空间的准确值。切换在 Boot.ini 文件中的设置了/3GB服务器,请在性能实用程序中显示的值通常是小于 2.5 GB。在没有 Boot.ini 文件中的/3GB开关设置服务器上,该值通常是小于 1.8 GB。最好将/3GB开关添加到 Boot.ini 文件中有 1 GB 或更多的已安装内存的服务器上。如果您看到的值大于以前注意到的任一配置,则不会增加最大缓冲区大小的大小。如果您看到的值小于以前记下的任一配置,您可能需要增加数据库最大缓冲区大小。

例如,如果您有一台服务器被配置为使用/3GB开关中的 Boot.ini 文件和性能监视显示的虚拟字节计数 2.5 gb,服务器负载过重时,您可能能够 300 mb 左右,使总大小不得超过 1200 MB 的将最大缓冲区大小增加。

增加缓冲区大小可能会影响服务器性能。缓冲区越大,意味着更多的虚拟地址空间的消耗。因此,如果服务器遇到虚拟内存地址空间限制,增加缓冲区大小可能会导致操作系统不稳定。这可能导致服务器不响应。在非常大的邮箱服务器上,您可能需要减小默认缓冲区大小,以防止系统不稳定。

如何修改 ESE 缓冲区大小

MsExchESEParamCacheSizeMax参数控制 ESE 缓冲区的大小。它的值表示为页计数,并且必须设置为最大效率为 8192 的整数倍:
  • /3GB服务器上的默认大小设置开关: 229376 (896 MB)
  • 设置开关的无/3GB服务器上的默认大小: 147456 (576 MB)
  • 设置建议的最大值使用/3GB开关: 311296 (1.2 GB)

    注意如之前您对默认增大此值本文前面所述,应首先监视存储进程的虚拟字节。
  • 设置建议最大值时不要/3GB开关: 196608 (768 MB)

    注意如之前您对默认增大此值本文前面所述,应首先监视存储进程的虚拟字节。

注意ESE 缓冲区设置为大尺寸时要快得多的事务日志重播。您可能需要临时增加 ESE 缓冲区大小为311296 ,在灾难恢复方案中的一个值。

如果您执行就地升级到 Exchange 2000 服务器的 Exchange 5.5 服务器,您可能注意到分配给msExchESEParamCacheSizeMax的参数很高价值。在某些服务器上,这是一个等于 2048 MB 的值。在这种情况下,删除,或将参数重置为一个更合适的值。要修改存储数据库缓存大小:
  1. 启动活动目录服务接口 (ADSI) 编辑工具。Adsi 将包括使用 Windows 支持工具位于 Windows 2000 或 Windows Server 2003 CD-ROM 的 Support\Tools 文件夹中。
  2. 在下配置容器 [servername.example.com],其中 servername.example.com 是完全限定的域名服务器的 FQDN,展开CN = 配置DC = 示例DC = com
  3. 展开CN = 服务,展开CN = Microsoft Exchange,展开CN =单位名称在哪里 单位名称 名称的组织,展开CN = 管理组,展开CN =第一个管理组在哪里 第一个管理组 名称是您的管理组,展开CN = 服务器,然后展开CN =服务器名.
  4. 在下CN =服务器名用鼠标右键单击CN = 信息存储,然后单击属性
  5. 选择要查看的属性列表中,单击两者
  6. 选择要查看的属性列表中,单击msExchESEParamCacheSizeMax

    注意选择要查看的属性列表的宽度超出了 msExchESEParamCacheSizeMax 属性。请确保不会在无意中单击msExchESEParamCacheSizeMin属性相反。
  7. 编辑属性框中,键入您要分配给此属性的值。

    注意请确保您输入的值是 8192 的倍数。
  8. 单击设置,然后单击确定
  9. 退出 ADSI 编辑实用程序。然后,允许足够的时间可以在 活动目录(AD) 目录林复制此值。
  10. 重新启动 Exchange 服务器上的 Microsoft Exchange 信息存储服务。



属性

文章编号: 815372 - 最后修改: 2013年11月19日 - 修订: 3.0
这篇文章中的信息适用于:
  • Microsoft Exchange Server 2003 Standard Edition
  • Microsoft Exchange Server 2003 Enterprise Edition
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
关键字:?
kbinfo kbhowto kbmt KB815372 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 815372
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com