How do we determine hardware functionality?
Posted: April 21st, 2008 | Author: TnT Admin | Filed under: Analyze | Tags: Bottleneck, hardware | No Comments »In this article, we will discuss two counters proposed by Mitch Tulloch to detect if the hardware is functioning properly. The two counters, System\Context Switches/sec and Processor(_Total)\% Privileged Time, both related to processor are great counters to use. In general, by using the two counters, what we want to determine the type of threads that the processor is currently working (or had been working on) and if it is busy handling interrupts instead of performing useful work.
System\Context Switches/sec
This counter measures how frequently the processor has to switch from user-mode to kernel-mode to handle a request from a thread running in user mode. The heavier the workload running on your machine, the higher this counter will generally be, but over long term the value of this counter should remain fairly constant. If this counter suddenly starts increasing however, it may be an indicating of a malfunctioning device, especially if you are seeing a similar jump in the Processor(_Total)\Interrupts/sec counter on your machine.
You may also want to check Processor(_Total)\% Privileged Time counter and see if this counter shows a similar unexplained increase, as this may indicate problems with a device driver that is causing an additional hit on kernel mode processor utilization. Drill down using Process(instance)\% Processor Time counter for each process instances running on your machine. This won’t directly tell you which driver is utilizing processor time, but it may indicate which calling application is indirectly causing the problem and may help you troubleshoot the issue further.(Source: Mitch Tulloch, Windows Networking)
Processor(_Total)\Interrupts/sec
This counter measures the number of interrupts the processor have to respond over time. Interrupts are generated from hardware components like hard disk controller adapters and network interface cards. A sustained value over 1000 is usually an indication of a problem. Problems would include a poorly configured drivers, errors in drivers, excessive utilization of a device (like a NIC on an IIS server), or hardware failure. Compare this value with the System\Systems Calls/sec or System\Context Switches/sec. If the Interrupts/sec is much larger over a sustained period, you probably have a hardware issue. (Source: Microsoft TechNet)
Leave a Reply