Exchange 2007 前端 IIS 内存占用太高

已经遇见了好几回,在Exchange2007的场景中,前端角色所在服务器的w3wp.exe进程老是占用大量内存,以致于触发反压组件,中止了正常的邮件流投递,形成业务中断。前端

终于下决心查一下到底问题问题出在哪块,虽然Exchange 2007一直在出各类SP和rollUP声称解决了该问题(SP2,或者是SP3 rollup10)。可是打过补丁以后该吃内存的仍是吃内存,该报警反压的仍是报警反压。shell

打开任务管理器,查看里面选择列把PID勾上,就能够看到PID为6560的w3wp进程占用了较大量的内存。windows

p_w_picpath

p_w_picpath

而后打开命令行,若是是windows server 2003的话,输入iisapp ,就能够得到全部IIS应用程序池对应的进程PID值,从图中能够看到服务器

PID6560的应用程序池对应的是MSExchangeSyncAppPool。app

若是是windows 2008 (IIS7) 及以上,则须要输入%windir%\system32\inetsrv\appcmd.exe list wp来查看对应的应用程序池ide

p_w_picpath

打开IIS管理器,定位到该应用程序池,单击右键选择属性,接着对其内存使用进行相应的限制便可。工具

如图,该服务器物理内存配置不高,因此限制为2GB,以留给IIS自己足够的时间来进行自动回收。性能

p_w_picpath

p_w_picpath

限制完毕以后,反压日志明显减小。命令行

该应用程序进程池对应的是Exchange的ActiveSync组件,仔细想一想在Exchange 2007刚发布的年代,有多少人用手机ActiveSync组件去收发邮件,因此产品上出现性能问题也正常,在后面的10和13中这问题就出的很少了。日志

因此完全解决问题的方法仍是一、升级。二、加内存……

最后附上一个用于排查 Exchange ActiveSync 问题的脚本

http://blogs.technet.com/b/exchange_chs/archive/2012/02/24/exchange-activesync.aspx

这个脚本的用途是经过该Exchange ActiveSync应用程序池的日志,log parser2.0工具以及powershell2.0来分析全部的使用移动设备经过EAS服务链接Exchange服务器的状态。

能够获取到每台设备天天链接了多少次等信息,在这些信息中,若是有天天超过1000次链接的设备,那在产品组看来这就是非正常的高频度链接。同时也能够借由此脚原本发现IIS各时间段的压力和性能指标。

相关文章
相关标签/搜索