W3WP.exe process consuming 100% CPU on Exchange CAS Server
This one took one full day but was worth spending this much time at the end. one of my CAS server was at 100% CPU & was causing my iPAD users to sync emails extremely slow.
as a troubleshooting step, I stopped ActiveSync App pool on the CAS server & saw the CPU usage came down averaging at 10% in a few minutes, we knew it was either a known issue with bad firmware of an IOS (iPhone) or some user making a lot of hits to the server.
More details here -> http://support.microsoft.com/kb/2563324
I also used Logparser to collect statistics, I documented this process in my previous post here at http://messagingserversupport.com/2012/01/20/using-logparser-with-iis-logs-to-filter-connection-statistics-for-exchange-server/
Had PSS analysze a process dump for W3WP.exe process using procdump utility, following are the steps for collecting ProcDump
Please download the ProcDump tool (below link) on the CAS Server.
-c CPU threshold at which to create a dump of the process.
-s Consecutive seconds CPU threshold must be hit before dump is written (default is 10).
-n Number of dumps to write before exiting.
-ma Write a dump file with all process memory. The default dump format includes thread and handle information.
Example: Write up to 3 dumps of a process named “World Wide Web Publishing Service” when it exceeds 90% CPU usage for five seconds
procdump -ma <PID> -c 90 -n 3 -s 5 -accepteula c:\w3wp.dmp.
We noticed that there was one user who had more hits than anyone else & had about 11 MB contacts, this users was trying to sync all 7500 contacts everytime he attempted a connection with CAS.
After I disabled this users device partnership, the CPU utilization came down drastically. the iPad users were able to sync with no problems.