Exchange 2007 前端 IIS 内存占用过高

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

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

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

然后打开命令行,如果是windows server 2003的话,输入iisapp ,就可以获得所有IIS应用程序池对应的进程PID值,从图中可以看到

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

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

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

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

限制完毕之后,反压日志明显减少。

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

所以彻底解决问题的方法还是1、升级。2、加内存……

最后附上一个用于排查 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各时间段的压力和性能指标。

时间: 2024-08-29 02:24:38

Exchange 2007 前端 IIS 内存占用过高的相关文章

CLR Profile解决内存占用过高

CLR Profile解决内存占用过高的问题 炮哥:"嘿,哥们,忙啥呢,电脑卡成这逼样." 勇哥:"在用CLR Profile工具分析下FlexiPrint的内存占用情况." 炮哥:“哎哟,不错啊,玩高级的了.” 勇哥:“也没有啊,就是发现点击查询按钮查询数据时,如果数据量一大的话,内存上上升了好几个M,所以第一感觉就不太正常.正好以前也了解过CLR Profile,但一直没怎么具休的用过,这次正好拿来研究研究.” 炮哥:“Nice job,要向你学习,能够主动发现

cocos2dx 中切换场景内存占用过高的处理

cocos2dx 中切换场景内存占用过高的处理 1.运行场景: CCScene *pScene = HelloWorld::scene(); pDirector->runWithScene(pScene); 2.替换场景: (1) CCScene *pScene=SceneTestScene::scene(); CCDirector::sharedDirector()->replaceScene(pScene); (2) CCScene *pScene=SceneTestScene::scen

UIWebView内存占用过高、崩溃、内存溢出

UIWebView内存占用过高.崩溃.内存溢出,有需要的朋友可以参考下. 项目当中模拟器上运行UIWebView读取本地杂志,没问题,真机测试经常内存溢出崩溃. 查了资料因为Html里的js 导致的内存泄漏,每次打开一个连接就会把"WebKitCacheModelPreferenceKey"设置成1. UIWebView 增加 - (void)webViewDidFinishLoad:(UIWebView *)webView { [[NSUserDefaults standardUse

ITM_win_agentCPU内存占用较高

这个问题一般出现在ITM623fp1上,win agent监控的OS是win2003 而且这个问题一般会通过省级ITM来解决 以下是一些通用的解决方法 Kntcma.exe占用CPU 100%  Kntcma.exe占用内存资源较高 server安装ITM 623FP2补丁 agent安装6.2.3.2-TIV-ITM_WIN-IF0001补丁 在KNTENV文件中设置 NT_LOG_THROTTLE=1 和 NT_LOG_APPEND_XML_DATA=0 - 重建性能技术器 cd\windo

(转)aix非计算内存 占用过高 案例一则

两台小型机组成的RAC环境,在用topas查看资源使用情况时,发现一台机器的非计算内存占用过高: MEMORY Real,MB 40959 %Comp 71.6 %Noncomp 20.4 %Client 20.4 而另外一台机器的%Noncomp 只有2.4 这主要是jfs2文件系统的cache,可以用svmon -S的输出来看,是哪些文件: [email protected]/#svmon -S Vsid Esid Type Description PSize Inuse Pin Pgsp

rabbitmq binary/other_system内存占用很高

最近有台服务器的MQ应用占用内存比较偏高,如下: 但是看控制台本身内存中消息积压并不多, 查看rabbtmqctl发现,binary data和other data占据了绝大部分的内存,如下: {memory, [{total,124441400}, {connection_readers,5548680}, {connection_writers,605560}, {connection_channels,2798608}, {connection_other,7775480}, {queue

linux内存占用过高原因

今天服务器装了个lnmp环境,看了下那个探针, 发现内存占用97%,瞬间吓尿了. google了半天才发现,一般的解释是Linux系统下有一种思想,内存不用白不用,占用了就不释放,听上去有点道理,但如果我一定要知道应用程序还能有多少内存可用呢? Linux下查看内存还有一个更方便的命令,free: [[email protected] ~]# free -m              total       used       free     shared    buffers     ca

linux内存占用过高

top top -H -p 28857jstack 28857 > a.txtjstack -F pid 如果是web应用,可以继续打印线程的堆栈信息+++++++++ strace -p 24167 通过这3步基本可以找出什么原因导致java进程占用那么高CPU资源. 将需要的线程ID转换为16进制格式:printf "%x\n" 2967973ef最后打印线程的堆栈信息:jstack 29679|grep 73ef -A 30

Redis主节点内存占用过高

0. 基本情况 Redis采用集群模式,560个主节点,主从比为1:1,单台机器上为16个节点.info memory观察到主节点A单个Redis内存used_memory_rss_human为9.2G(设置的maxmemory_human为6G)超过最大值设置. 1.查看客户端连接情况 [[email protected] A ~]# redis-cli -p 9001 info clients # Clients connected_clients:4705 client_longest_o