Clint Huffman's Windows Troubleshooting in the Field Blog

Clint Huffman is a Microsoft Premier Field Engineer (PFE) who has been with Microsoft for over 10 years. This blog documents the challenges he faces week to week in hopes that these experiences will help others.

Choose Your Own Adventure: High Deferred Procedure Calls (DPCs) or High Interrupts

Choose Your Own Adventure: High Deferred Procedure Calls (DPCs) or High Interrupts

  • Comments 1
  • Likes

You have arrived here because you have identified a high amount (greater than 50%) of processor time (\Processor(*)\% Processor Time), a high amount (greater than 30%) of privileged time (kernel time) (\Processor(*)\% Privileged Time) and a high amount of deferred procedure calls (greater than 20%) (\Processor(*)\% DPC Time) or a high number of interrupts (greater than 20%) (\Processor(*)\% Interrupt Time) on your Windows computer. If this is not correct, then return to the Start of the Adventure.

% DPC Time is the percentage of time that the processor spent receiving and servicing deferred procedure calls (DPCs) during the sample interval. DPCs are interrupts that run at a lower priority than standard interrupts. % DPC Time is a component of % Privileged Time because DPCs are executed in privileged mode. They are counted separately and are not a component of the interrupt counters.

% Interrupt Time is the time the processor spends receiving and servicing hardware interrupts during sample intervals. This value is an indirect indicator of the activity of devices that generate interrupts, such as the system clock, the mouse, disk drivers, data communication lines, network interface cards and other peripheral devices. These devices normally interrupt the processor when they have completed a task or require attention. Normal thread execution is suspended during interrupts. Most system clocks interrupt the processor every 10 milliseconds, creating a background of interrupt activity. suspends normal thread execution during interrupts. This counter displays the average busy time as a percentage of the sample time.

High Deferred Procedure Calls (DPCs) and high interrupts are typically caused by very busy or poorly written device drivers. Consider using a tool such as Microsoft xPerf to assist with diagnosis of this problem.

Here is an article by Windows IT Pro Magazine that goes into diagnosing DPC issues using Microsoft xPerf:

Windows IT Pro Magazine: Examining xPerf
http://www.windowsitpro.com/print/performance/examining-xperf.aspx

Tip: If the computer hangs often, then while it is hung, press the Cap Lock key on the keyboard to see if the light on the keyboard toggles on and off when you press it. If the Cap Lock key light does not respond, then the computer is hung due to a hardware problem. Otherwise, it is most likely a software problem.

Comments
  • I've been using the Caps Lock trick for donkeys' years - I'm glad someone else uses it too.

    The looks on users' faces is rather amusing when you deduce that the machine has really really crashes by just tapping a key twice :D

Your comment has been posted.   Close
Thank you, your comment requires moderation so it may take a while to appear.   Close
Leave a Comment