ORF反垃圾邮件系统

邮件服务器-邮件系统-邮件技术论坛(BBS)

 找回密码
 会员注册
查看: 2832|回复: 4
打印 上一主题 下一主题

store.exe问题请教

[复制链接]
跳转到指定楼层
顶楼
发表于 2004-7-15 10:47:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
发现装有exchange的服务器中,store.exe进程占用了机器大量的内存和CPU,请较这个问题的原因和解决办法,谢谢各位。
沙发
发表于 2004-7-15 12:38:26 | 只看该作者

Re:store.exe问题请教

如何在 Exchange Server 2003 中优化内存使用<br>
适用于 <br>
重要说明:本文包含有关修改注册表的信息。修改注册表之前,一定要备份注册表,并且一定要知道在发生问题时如何还原注册表。有关如何备份、还原和编辑注册表的信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: <br>
256986 Description of the Microsoft Windows Registry<br>
本任务的内容<br>概要 <br>虚拟地址空间概念 <br>最大化虚拟地址空间 <br>存储数据库缓存大小 <br>如何修改 ESE 缓冲区大小<br>参考<br>
概要<br>
警告:注册表编辑器使用不当可造成严重问题,这些问题可能需要重新安装操作系统。Microsoft 不保证能够解决因为注册表编辑器使用不当而产生的问题。使用注册表编辑器需要您自担风险。本文介绍了运行 Exchange Server 2003 的计算机上的内存使用的优化。<br>
<br>
如果运行 Exchange Server 2003 服务器上安装了 1 GB 以上的物理内存,则必须确保 Exchange Server 2003 可以有效地使用该内存。<br>
<br>
注意:Exchange Server 2003 在存储进程启动时执行最佳内存配置检查。如果内存设置不是最佳的,事件查看器中将会出现事件 9665。如果存在下列任一条件,则会显示此消息: <br>服务器正在运行 Microsoft Windows 2000 Server,并且注册表中的 SystemPages 值超出了 24000 到 31000 这一范围。 <br>服务器具有 1 GB 或更多内存,并且没有 /3GB 开关。 <br>服务器正在运行 Microsoft Windows Server 2003,具有 1 GB 或更多内存,并且设置了 /3GB 开关,但是不存在 /USERVA 设置或者该设置超出了 3030 到 2970 这一范围。 <br>
如果您看到此事件,请检查注册表中的 SystemPages 和 HeapDeCommitFreeBlockThreshold 设置,并检查 Boot.ini 文件中的 /3GB 开关和 USERVA 设置。本文的下列各部分包含对所有这些设置的推荐设置。 如果您要关闭内存配置检查,可以创建以下注册表项: <br>
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MSExchangeIS\ParametersSystem<br>
参数:Suppress Memory Configuration Notification<br>
类型:REG_DWORD <br>
设置:1<br>
<br>
运行 Microsoft Small Business Server 的服务器上不会发生内存配置检查。当引发 9665 事件时,DWORD 会作为附加数据写入事件日志中。 <br>
<br>
返回页首 <br>
虚拟地址空间概念<br>
Exchange Server 2003 中的信息存储 (Store.exe) 进程可以处理的内存数量是有限制的,这与硬件配置、服务器上的数据库数量以及用户数量无关。此数量称为虚拟地址空间。大多数情况下,信息存储区使用的此虚拟地址空间决定 Exchange Server 2003 邮箱服务器的总体性能和可伸缩性。对于中小型服务器,Exchange Server 2003 会自动使平衡达到最佳状态。但是,对于大型服务器,您可能需要手动调整一些优化参数。<br>
<br>
如果您的 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 开关来完成此操作。<br>
<br>
如果您运行的是 Windows 2000 Server Standard Edition,请不要设置 /3GB 开关。Windows 2000 Server Standard Edition 不支持此内存调整开关。如果您这样做,服务器不会生成错误信息,但是设置此开关会导致存在假内存地址空间。如果某个进程试图访问这个较大的地址空间,蓝屏上则会出现一条“Stop”(停止)错误信息,服务器将停止响应。<br>
<br>
注意:Windows Server 2003 的所有版本(包括 Windows Server 2003 Standard Edition)都支持 /3GB 调整开关。 有关如何设置 /3GB 开关的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: <br>
266096 XGEN:Exchange 2000 Requires /3GB Switch with More Than 1 Gigabyte of Physical RAM <br>
如果您在基于 Windows Server 2003 的计算机上运行 Exchange Server 2003,并且设置 /3GB 开关,则 Microsoft 建议您在 Boot.ini 文件中设置 /USERVA=3030 参数。这样,服务器上就可以有更多的系统页目录项 (PTE)。 有关 /USERVA 开关的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: <br>
810371 XADM:Using the /Userva Switch on Windows 2003 Server-Based Exchange Servers<br>
确保 Store.exe 进程不会将虚拟地址空间用尽。当虚拟地址空间耗尽时,即使有大量物理 RAM 可用,内存分配也将失败。要解决此问题,您必须重新启动信息存储服务。例如,具有 2 GB 物理 RAM、但没有在 Boot.ini 文件中设置 /3GB 开关的服务器在 Store.exe 进程所使用虚拟地址空间达到 2 GB 时将会出现内存不足的情况。在这种情况下,Windows 任务管理器可能会显示实际只使用了大约 1.5 GB 的内存。但是,服务器确实内存不足,并且必须重新启动信息存储服务。<br>
<br>
当 Store.exe 进程的虚拟内存不足时,Exchange Server 2003 服务器的性能可能会大大降低。当最大的可用虚拟内存块减至 32 MB 时,事件查看器的应用程序日志中会生成事件 ID 9582 警告事件。如果您看到此事件,下次有机会时最好重新启动 Store.exe 进程。如果最大内存块减少的更多,只有 16 MB,则事件查看器的应用程序日志中会生成事件 ID 9582 错误事件。如果发生此事件,则服务器已接近临界操作条件,下次有机会时必须重新启动服务器。发生此错误后,内存可能会在几个小时内耗尽。如果您没有响应这些事件,可能会遇到下列症状中的一个或多个: <br>间歇性消息传递故障。 <br>由事件 ID 12800 指示的间歇性 Internet 邮件 (IMAIL) 转换过程故障。 <br>某些支持 Exchange 的防病毒程序可能会生成错误信息或事件。<br>
返回页首 <br>
最大化虚拟地址空间<br>
要确保性能和稳定性不会降低,最好监视大型邮箱服务器上信息存储的虚拟地址空间。完成此操作的最简单方法是,在“性能”实用工具中监视 MSExchangeIS 性能对象的虚拟内存最大块大小计数器。该值以字节为单位进行显示。启动计算机后,通常应查看最大虚拟内存块大小是否明显减少。但是,经过一两天的运作后,该值会接近通常的操作级别。如果最大可用虚拟内存块的值大于 200,000,000 字节(大约 200 MB),则表示服务器运行正常。如果您发现值小于该数值,请更加亲切地监视服务器。如果您遇到虚拟地址空间不足的情况: <br>
1. 如果您安装了 1 GB 或更多物理内存,当服务器满足下列条件时,请确保在 Boot.ini 文件中设置 /3GB 开关: <br>
o 服务器是邮箱或公用文件夹的宿主。 <br>
o 操作系统是 Windows 2000 Advanced Server 或 Windows Server 2003。<br>
如果服务器上没有任何邮箱或公用文件夹(如邮件网关),请不要使用 /3GB 开关。 <br>
2. 如果 Exchange Server 2003 安装在基于 Windows Server 2003 的服务器上,并且它设置了 /3GB 开关,请确保在 Boot.ini 文件中设置 /USERVA=3030 开关。如果 Exchange Server 2003 安装在基于 Windows 2000 的服务器上,请确保该服务器运行的是 Windows 2000 Service Pack 3 (SP3) 或更高版本。 <br>
3. 如果您安装了 1 GB 或更多物理内存,请在以下注册表项中配置 HeapDeCommitFreeBlockThreshold 注册表值,然后重新启动服务器: <br>
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager值名称:HeapDeCommitFreeBlockThreshold<br>
数值类型:REG_DWORD<br>
值数据:0x00040000(推荐)<br>
默认值:不存在<br>
有关如何使用和配置此注册表值的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: <br>
315407 XADM:The "HeapDecommitFreeBlockThreshold" Registry Key <br>
通常情况下,前面的步骤可以解决虚拟地址空间使用问题。不过,在一些较大的服务器上,您可能必须对“存储数据库缓存大小”进行其他调整,才可重新平衡性能与可伸缩性之间的差距。<br>
<br>
返回页首 <br>
存储数据库缓存大小<br>
存储数据库缓存也称为 ESE 缓冲区,在数据库事务被提交到存储区之前,该缓冲区为这些事务提供较大的缓存区域。默认情况下,Exchange Server 2003 会查询本地计算机的内存配置,然后分配 896 MB 的 RAM(如果 Boot.ini 文件中设置了 /3GB 开关),或者分配 576 MB 的 RAM(如果没有设置 /3GB 开关)。如果服务器负载过重,或者如果磁盘性能不是最佳,则使用较大的 ESE 缓冲区会提高系统的总体性能。根据您的配置,您可能必须增加或减小此缓冲区的大小,以便获得最佳的总体性能。<br>
<br>
如果 Exchange Server 2003 所在的环境中存在其他服务器端程序,则它可能会独占可用的内存资源。“动态缓冲区分配”(DBA) 算法负责在其他程序需要内存时将内存归还给操作系统。不过,您可以通过减小 ESE 缓冲区手动限制 Exchange Server 2003 使用的内存。<br>
<br>
在具有 2 GB 以上内存的服务器上,增加 ESE 缓冲区大小可能会有所帮助。由于虚拟地址空间限制,该值不能大于 1,200 MB。<br>
<br>
增加最大缓冲区大小之前,最好使用 Windows“性能”实用工具监视具有典型负载的服务器上的内存。为此,请监视以下性能对象和值: <br>
性能对象:进程<br>
性能计数器:虚拟字节<br>
实例:STORE<br>
在性能监视期间收集的信息可为您提供 Store.exe 进程已分配的虚拟地址空间的准确值。在 Boot.ini 文件中设置了 /3GB 开关的服务器上,“性能”实用工具中显示的值通常小于 2.8 GB。在 Boot.ini 文件中设置 /3GB 开关的服务器上,显示的值通常小于 1.8 GB。在安装了 1 GB 或更多内存的服务器上,最好向 Boot.ini 文件中添加 /3GB 开关。如果您看到的任一配置的值大于以前注意到的那些值,则不要增加最大缓冲区大小。如果您看到的任一配置的值小于以前注意到的那些值,可能需要增加数据库最大缓冲区大小。<br>
<br>
例如,如果您的服务器在 Boot.ini 文件中配置了 /3GB 开关,而且性能监视在服务器负载过重时显示 2.5 GB 的虚拟字节计数,则您或许可以将最大缓冲区大小增加 300 MB 左右,使总大小为 1,200 MB。<br>
<br>
增加缓冲区大小可能会对服务器性能产生不利影响。缓冲区越大,意味着使用的虚拟地址空间越多。因此,如果您的服务器遇到虚拟内存地址空间限制,增加缓冲区大小可能会导致操作系统不稳定。在非常大的邮箱服务器上,可能必须减小默认的缓冲区大小才可防止系统不稳定。<br>
<br>
返回页首 <br>
如何修改 ESE 缓冲区大小<br>
msExchESEParamCacheSizeMax 参数控制 ESE 缓冲区大小。它的值以页计数的形式表示,并且必须设置为 8192 的精确倍数才可实现最大效率: <br>设置了 /3GB 开关的服务器上的默认大小:229376 (896 MB) <br>没有设置 /3GB 开关的服务器上的默认大小:147456 (576 MB) <br>推荐使用的最大值:307200 (1.2 GB) <br>具有地址空间限制的大型服务器上的推荐值:196608 (768 MB)<br>
注意:如果 ESE 缓冲区大小设置的较大,事务日志的重放速度会大大加快。如果需要进行灾难恢复,可能需要将 ESE 缓冲区大小暂时增大为 307200。<br>
<br>
如果已经将 Exchange 5.5 Server 计算机就地升级到了 Exchange 2000 Server,您可能会注意到为 msExchESEParamCacheSizeMax 参数分配了一个异常高的值。在有些服务器上,该值等于 2,048 MB。在这种情况下,请删除该参数或将其重置为更适当的值。要修改存储数据库缓存大小,请执行下列操作: <br>
1. 启动“ADSI 编辑”实用工具。“ADSI 编辑”包含在 Windows 支持工具中,它位于 Windows 2000 或 Windows Server 2003 CD-ROM 的 Support\Tools 文件夹中。 <br>
2. 在“配置容器 [servername.example.com]”(其中 servername.example.com 是服务器的完全限定域名 FQDN)下,展开“CN=Configuration, DC=example, DC=com”。 <br>
3. 依次展开 “CN=Services”、“CN=Microsoft Exchange”、“CN=组织名称”(其中,组织名称是您组织的名称)、“CN=Administrative Groups”、“CN=第一个管理组”(其中,第一个管理组是您管理组的名称)、“CN=Servers”和“CN=服务器名称”。 <br>
4. 在“CN=服务器名称”下,右键单击“CN=InformationStore”,然后单击“属性”。 <br>
5. 在“请选择要查看的属性”列表中,单击“两者”。 <br>
6. 在“请选择要查看的属性”列表中,单击“msExchESEParamCacheSizeMax”。<br>
<br>
注意:msExchESEParamCacheSizeMax 属性超出了“请选择要查看的属性”列表的宽度。确保不要无意中单击“msExchESEParamCacheSizeMin”属性。 <br>
7. 在“编辑属性”框中,键入要分配给此属性的值。<br>
<br>
注意:确保您输入的值是 8,192 的倍数。 <br>
8. 单击“设置”,然后单击“确定”。 <br>
9. 退出“ADSI 编辑”实用工具,然后留有足够的时间以便将该值复制到整个 Active Directory 林中。 <br>
10. 在 Exchange 服务器上重新启动 Microsoft Exchange 信息存储服务。<br>
藤椅
发表于 2004-7-15 12:40:41 | 只看该作者

Re:store.exe问题请教

你看看吧,可能对你会有帮助
板凳
 楼主| 发表于 2004-7-15 14:24:42 | 只看该作者

Re:store.exe问题请教

谢谢,但还是不明白,也不知道应该怎么去做
报纸
发表于 2004-7-18 21:13:02 | 只看该作者

Re:store.exe问题请教

此文对你的意义不大,如果你不使用WIN2000高级服务器版以上且安装了1G以上的物理内存,你是不能提高虚拟内存的。还是从页面文件和物理内存上下点工夫吧。
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

小黑屋|手机版|Archiver|邮件技术资讯网

GMT+8, 2024-12-22 18:00

Powered by Discuz! X3.2

© 2001-2016 Comsenz Inc.

本论坛为非盈利中立机构,所有言论属发表者个人意见,不代表本论坛立场。内容所涉及版权和法律相关事宜请参考各自所有者的条款。
如认定侵犯了您权利,请联系我们。本论坛原创内容请联系后再行转载并务必保留我站信息。此声明修改不另行通知,保留最终解释权。
*本论坛会员专属QQ群:邮件技术资讯网会员QQ群
*本论坛会员备用QQ群:邮件技术资讯网备用群

快速回复 返回顶部 返回列表