获取每个线程的CPU统计信息

如何获得特定应用程序中每个线程的当前CPU使用情况? 是否有可能从某处获取信息或使用某种工具?

为了快速回答,请使用SysInternal的Process Explorer 。 双击一个进程打开详细信息对话框。 线程选项卡给出了一个包括上下文切换增量和CPU时间的所有线程的可sorting列表。

Perfmon(性能监视器)应该给你你想要的细节。

以下假设Windows 2000,XP或Server 2003.我没有检查,但我认为性能监视器在Vista,Windows 7和Server 2008有点不同。

要运行性能监视器,请转到开始>控制面板>pipe理工具>性能

要为应用程序的每个线程添加graphics,请右键单击该graphics并select“属性”。 您可能需要删除其中的任何默认值,以便为您提供更清晰的图表。

点击“添加…”button,并确保选中“使用本地计算机计数器”(除非要监视不同的服务器,在这种情况下,请继续并select该选项)。

在“性能对象”下select“线程”

select计数器“处理器时间百分比”,然后select你想要监视的所有线程(控制+点击select多个)。 点击“添加”,然后点击“closures”。

回到属性中,可以根据需要自定义graphics,方法是分配颜色,图案等。单击“确定”。

如果需要,可能需要开始绘制graphics,然后单击红色的“停止”(STOP)标记以使其未启用将启动graphics。

进程监视器(sysinternals)

我认为由Sysinternals(最近由微软购买)ProcessMonitor可能会工作。

进程监视器是Windows的高级监视工具,显示实时文件系统,registry和进程/线程活动。 它结合了两个传统Sysinternals实用程序Filemon和Regmon的function,并添加了丰富的增强列表,包括丰富和非破坏性过滤,全面的事件属性(如会话ID和用户名),可靠的过程信息,具有集成符号支持的全线程堆栈为每个操作,同时logging到一个文件,等等。 其独特的强大function将使进程监视器成为您的系统故障排除和恶意软件search工具包的核心工具。

链接在这里:

http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx

你可以使用内置的Windows性能监视器,只需在开始时键入perfmon即可运行。 一旦在perfmon上,点击加号,select进程,你select你的进程,然后select你想看到的。 回归本源!