【发布时间】:2016-04-14 18:02:01
【问题描述】:
我正在寻找从生产环境收集的转储文件,以提高 CPU 使用率。我运行 !threadpool 和 !runaway 命令如下
0:000> !ThreadPool
CPU utilization: 100%
Worker Thread: Total: 6 Running: 2 Idle: 4 MaxLimit: 32767 MinLimit: 4
Work Request in Queue: 0
--------------------------------------
Number of Timers: 8
--------------------------------------
Completion Port Thread:Total: 8 Free: 3 MaxFree: 8 CurrentLimit: 8 MaxLimit: 1000 MinLimit: 4
0:000> !runaway
ERROR: !runaway: extension exception 0x80004002.
"Unable to get thread times - dumps may not have time information"
我想知道哪些线程消耗的 CPU 时间最多,但我无法运行 !runaway 命令。在这种情况下,sos、sosex 或任何其他扩展中是否有任何其他命令可以提供帮助?
【问题讨论】:
-
您是如何捕获转储的?我会使用 ETW/WPA 来分析 CPU 使用率:channel9.msdn.com/Shows/Defrag-Tools/… 但使用 WPRUI.exe(在资源下选择 CPU 使用率 并在 1 分钟后点击 start,点击保存)