Statistics: 100% CPU spread over all processes

If this scenario happens after some event or user action most likely some notification hooks were involved. WinDbg !thread command on the current processor will most likely catch running thread than IdleLoop thread and !process command will show the current process context. Then from thread stack you can make an educated guess which components were likely responsible for that.

To change the current processor when looking at the dump from multiprocessor platform use ~”p”s command where “p” is zero-based processor number, for example, ~1s changes the current processor to the second processor. Remember that every processor has its own thread and process context. If processor has nothing to do it is looping in KiIdleLoop thread which belongs to Idle process.

- Dmitry Vostokov -

2 Responses to “Statistics: 100% CPU spread over all processes”

  1. Soren Dreijer Says:

    You should also mention that the interpretation of the ~”number” s statement depends on whether you’re debugging in kernel-mode or user-mode. In the first case, the current processor is changed, but in the latter the current thread is changed.

  2. Dmitry Vostokov Says:

    Yes!
    Thanks,
    Dmitry

Leave a Reply

You must be logged in to post a comment.