In the Windows server CPU performance reached 98%. I have installed AD, DNS, DHCP, WDS, IIS and SQL on the server. What are the structured steps to analyze the CPU utilization in General. Please guide me.

Regards, Ramasamy R S


Task manager or perfmon.

Also, don't run all of those roles on one server. That's crazy.

| improve this answer | |
  • don't run all of those roles on one server. That's crazy. <--- bears repeating. – HopelessN00b Mar 27 '14 at 14:18
  • 1
    @HopelessN00b - bears can't talk. – TheCleaner Mar 27 '14 at 14:18
  • 2
    @TheCleaner But they can maul you repeatedly for poor system design practices. :p – HopelessN00b Mar 27 '14 at 14:19

Set up a performance monitor collection set that looks at the Processor queue length, %Processor time, and %interrupt time. This will give you use statistics, and the queue length will show if your processor is getting overloaded and queuing too many threads. You would also need to use the Task manager to evaluate what processes are using the resources.

Please note that if this is a virtual server the metrics gathered in Windows may be incorrect and you would need to gather CPU usage from the virtual host as well.

As @MDMarra mentioned, the roles you listed and especially adding SQL and IIS are resource intensive and it is not recommended to place all of these on a single machine.

I would also recommend adding SQL monitors to your collection set. The following SQL sets may be useful as well:

SQLServer:Access Methods || FreeSpace Scans/sec; Full Scans/sec

SQLServer:General Statistics || User Connections

SQLServer:SQL Statistics || Batch Requests/sec

Hopefully this will help narrow your search.

| improve this answer | |

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