如何调查Microsoft.Exchange.Rpc.ClientAccess.Service.exe持续高CPU使用率?

我们arrays中的一台CAS服务器使用了4个CPU中的近90%。 其余的CAS服务器在30%。

我应该如何调查导致这种增加的原因?

下面是一个图表:

  • 六(6)CAS服务器在RPC / HTTPS(Outlook随处)模式下为3,000个用户提供服务。
  • Windows 2008 R2
  • 最近升级到Exchange 2010 SP1 RU6(在RU3上的行为相同)
  • 每个CAS服务器都有四(4)个虚拟CPU

兴趣点

  • 由于我们要求最终用户针对不同的URLconfigurationActivesync,因此我们在负载平衡器上设置了一个专用的VIP,并隔离了底部的两个CAS服务器。 这样做很容易…我们改变了公共DNS的条目,以促进隔离。 (我希望MSFT的最佳实践将鼓励一个孤立的URL Activesync部署)
  • 黑色的高CPU来自ActiveSync。
  • 绿色尖峰来自RPC客户端访问服务。

在这里输入图像说明

我在服务器上运行MSFT的DebugDiag ,不知道这是否是正确的工具,或者如何处理更高级的结果。 任何提示都表示赞赏。

看看是否有帮助: http : //social.technet.microsoft.com/Forums/nl/exchange2010/thread/55da7565-abc1-4c40-bade-7d3dc420de2e 。 那里讨论了许多可能的原因。

我发现了根本原因,并会在这里更新它们:

高CAS CPU是由于

  • BES服务器。 这是零星的和可变的

  • 日记。 我们的归档过程是使用8000 MAPI连接到服务器,并导致高CPU

  • Outlook上的Outlook用户。 许多使用Outlook的人都在NAT后面。 我们的负载均衡器负载平衡他们的IP而不是cookie(如2010 SP1 +支持)

  • Activesync日历问题。 iPhone正在锤击我们的服务器日历更新,由于苹果编程错误,被拒绝。 我们停止了ActiveSync应用程序池并更新了自动发现,以便将所有Activesync用户指向专用CASarrays

所以最终解决scheme是为Jornaling,Activesync和Outlook Anywherestream量创build专门的CAS数组。 我们将Journaling + BES放置在同一个arrays上。 这是一个可怜的QOS和每个服务的故障隔离。

我们用来识别高CPU元凶的工具是“Exmon”,但是只知道运行Exmon会导致跟踪文件出现在\ program files(x86)\ Exmon中。 如果这些文件没有被删除,他们可能会填满驱动器。

Process Explorer可以帮助您准确分解stream程正在执行的操作。

尽pipe如此,procexp.exe本身可以使用相当多的CPU。

你有iPhone,iPad的用户吗?
如果你这样做,请看下面。
我们在工作中遇到了这个问题。

http://www.networkworld.com/news/2013/021313-byod-ios-exchange-servers-266683.html iOS设备在同步时拖动Exchange服务器

(链接文章中) http://support.microsoft.com/kb/2814847?wa=wsignin1.0当用户通过使用iOS同步邮箱时,Exchange Server 2010中事务日志,CPU使用率和内存使用量的快速增长6.1或6.1.1的设备