Published on April 9, 2012 by Jim Cheshire
This troubleshooter will help you to identify the cause of sustained high CPU in an IIS application pool. It’s important to keep in mind that it is normal for CPU usage to increase as a web application serves requests. However, if you consistently see CPU remain at a high level (in the area of 80% or greater) for prolonged periods, the performance of your application will suffer. For that reason, it’s important to understand the cause of sustained high CPU so that it can be addressed and corrected if possible.
Troubleshooting High CPU performance issues
By Mike Laing
Troubleshooting high CPU hang problems can be done with two tools: Performance Monitor, and a debugger. We use Performance Monitor to get a 'perfmon' log of the high cpu behavior, and we use the debugger to get a hang dump of the process that is spiking the cpu. Then we analyze the info in the perfmon log and associate it with the info in the debug dump file.
At times the application will be very slow to respond and the CPU usage is very high (70-80%).
I have already tipped you off in the title that the issue will be High CPU in GC, but how do we even get to that conclusion? The answer is performance monitor...
A high CPU issue is generally one of 3 things
· An infinite loop
· Too much load (i.e. too many requests doing lots of small things, so no one single thing is a culprit)
· Too much churning in the Garbage Collector.