Performance Monitor and Task Manager may record CPU usage that is inconsistent with the computer activities during the sampling period on some single or multiprocessor computers. It may also report high and low CPU usage cycles when there is consistent network or USB activity and system load. The cycles may vary from 30 seconds to 30 minutes of high or low CPU usage.
↑ Back to the top
Microsoft
has confirmed that this is a problem in the Microsoft products that are listed
at the beginning of this article.
↑ Back to the top
Performance Monitor and Task Manager use periodic sampling to determine CPU usage (that is, idle time or privileged time). If the activity on the computer synchronizes with the sampling interrupt, Performance Monitor may report the system CPU usage inaccurately. For example, if the activity on the computer occurs every 10 milliseconds (ms), Performance Monitor may report the CPU as very active if the activity occurs every time it interrupts and samples the CPU usage. If the activity occurs out of phase, Performance Monitor reports very low CPU usage.�
Sometimes such activities may be in phase with the sampling interrupt, but then they slowly drift out of phase, especially when external timers drive such activities. For example, in a client server program scenario, if the client sends a packet to the server in a loop and then sleeps for 1 millisecond between the packets, the sleep(1) on the client (whose clock may drift slightly as compared to the clock on the server computer) may cause the Performance Monitor and Task Manager to report alternating high and low CPU usage cycles on server. Another example is�USB Audio devices which�transfer audio samples every 1 millisecond�and will drift in and out of phase�with the sampling interrupt�causing Performance Monitor and Task Manager to report alternating high and low CPU usage cycles on the client.
↑ Back to the top