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
. . .
. . .
. . .