Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

One CAS server in our array has nearly 90% of its 4 CPUs used. The remaining CAS servers are at 30 percent.

How should I investigate what is causing this increase?

Below is a graph of:

  • Six (6) CAS servers serving 3,000 users in RPC/HTTPS (outlook anywhere) mode.
  • Windows 2008 R2
  • Recently upgraded to Exchange 2010 SP1 RU6 (same behavior on RU3)
  • Each CAS server has Four (4) Virtual CPUs

Points of interest

  • Since we asked our end users to configured Activesync against a different URL, we set up a dedicated VIP on the load balancer, and isolated the bottom two CAS servers. Doing this was easy... we changed the public DNS entry to facilitate the isolation. (I wish MSFT Best Practices would encourage an isolated URL for Activesync deployments)
  • The high CPU in black is coming from ActiveSync.
  • The green spike is from RPC Client Access service.

enter image description here

I ran MSFT's DebugDiag on the servers and don't know if that is the right tool to use, or what to do with some of the more advanced results. Any tips are appreciated.

share|improve this question

See if this helps: Lots of possible causes are discussed there.

share|improve this answer
Thanks.. all public folder access is done locally (in the same site)... also will re read that to see what else may apply – LamonteCristo Feb 14 '12 at 1:26
up vote 3 down vote accepted

I've discovered the root cause(s) and will update them here:

High CAS CPU was caused by

  • BES servers. This was sporadic and variable

  • Journaling. Our archiving processes was using 8000 MAPI connections to a server, and caused high CPU

  • Outlook users on NAT. Many people using outlook anywhere were behind a NAT. Our load balancer load balanced them by IP rather than cookie (as 2010 sp1+ supports it)

  • Activesync Calendar issue. iPhones were hammering our server with calendar updates that were rejected due to an Apple programming bug. We stopped the ActiveSync app pool and updated autodiscover to point all Activesync users to a dedicated CAS Array

So in the end the solution was to create a dedicated CAS array for Jornaling, Activesync, and Outlook Anywhere traffic. We co-located Journaling + BES onto the same array. This was a poor mans QOS and fault isolation for each service.

The tool we used to identify the high CPU culprit was "Exmon", however just know that running Exmon will cause trace files to appear in \program files(x86)\Exmon. If these files aren't deleted they may fill the drive.

share|improve this answer

Process Explorer can help break down exactly what the process is doing.

Be warned though, procexp.exe can use quite a bit of CPU itself.

share|improve this answer

Do you have users with iPhone's, iPad's, etc?
See below if you do.
We ran into this at work. iOS devices hobble Exchange servers when they synch


(Linked in article) Rapid growth in transaction logs, CPU use, and memory consumption in Exchange Server 2010 when a user syncs a mailbox by using an iOS 6.1 or 6.1.1-based device

share|improve this answer
Please give a summary of what is there, the link might go dead. – vonbrand Feb 20 '13 at 12:31

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.