Special Command—CPU Time for Each Thread with !runaway


This is one of my favorite commands! !runaway displays information about the CPU time consumed by each thread in User Mode and  Kernel Mode.


It is one of those commands you run when you think the application is hung with low or high CPU or has some kind of performance issue.


 



Parameters:



Bit 0 (0x1)


Causes the debugger to show the amount of user time consumed by each thread.


Bit 1 (0x2)


Causes the debugger to show the amount of kernel time consumed by each thread.


Bit 2 (0x4)


Causes the debugger to show the amount of time that has elapsed since each thread was created.


 


The output is sorted from the thread consuming the most CPU time to the thread consuming the least CPU time.


Example of displaying just the User Time for each thread (no parameters does that):


0:000> !runaway


 User Mode Time


  Thread       Time


  52:33b4      0 days 0:00:01.435


 317:2834      0 days 0:00:00.982


  93:2d60      0 days 0:00:00.936


 479:3858      0 days 0:00:00.842


 266:33b0      0 days 0:00:00.842


 658:23d8      0 days 0:00:00.826


 559:1acc      0 days 0:00:00.826


 299:357c      0 days 0:00:00.826


 279:bf8       0 days 0:00:00.826


 719:39c0      0 days 0:00:00.811


 509:38d0      0 days 0:00:00.811


 376:19a0      0 days 0:00:00.811


 314:3700      0 days 0:00:00.811


  84:338c      0 days 0:00:00.811


 731:2fa0      0 days 0:00:00.795


 691:2070      0 days 0:00:00.795


  24:1b88      0 days 0:00:00.795


 800:3ca4      0 days 0:00:00.780


 761:3c08      0 days 0:00:00.780


 720:3968      0 days 0:00:00.780


. . .


. . .


. . .




Comments (0)