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


10

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

Answers:


8

要获得快速解答,请使用SysInternal的Process Explorer。双击一个过程以打开详细信息对话框。“线程”选项卡给出了所有线程的可排序列表,包括上下文切换增量和CPU时间。


我以前使用过Process Explorer,但是那里没有看到CPU列,因为它太窄了,只有排序箭头才是该列的标题。
dabest1

7

Perfmon(性能监视器)应为您提供所需的详细信息。

以下假设使用Windows 2000,XP或Server2003。我尚未检查,但我认为性能监视器在Vista,Windows 7和Server 2008中有所不同。

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

要为应用程序的每个线程添加图形,请在图形上单击鼠标右键,然后选择“属性”。您可能想要删除它附带的任何默认值,以使图表更清晰。

单击“添加...”按钮,并确保选中“使用本地计算机计数器”(除非您要监视其他服务器,在这种情况下,请继续并选择该选项)。

在“性能对象”下,选择“线程”

选择计数器“%Processor Time”,然后选择要监视的所有线程(按住Control键并单击以选择多个线程)。单击“添加”,然后单击“关闭”。

返回属性中,您可以根据需要通过分配颜色,图案等来自定义图形。单击“确定”。

如果需要,您可能需要开始绘制图形,然后单击红色的STOP符号(未启用)将启动图形。


+1,除了开头的WMI评论外,因为它与帖子的其余部分没有多大关系。提到的内容在Vista和2008中也非常相似。最后,您还可以通过运行perfmon.msc
DougN

gh,对不起,我混淆了我的条件。我的意思是说perfmon。我现在将其修复。
马克·亨德森

1

进程监视器(sysinternals)

我认为Sysinternals(最近由Microsoft购买)的ProcessMonitor可能会起作用。

Process Monitor是Windows的高级监视工具,可显示实时文件系统,注册表和进程/线程活动。它结合了两个旧的Sysinternals实用程序Filemon和Regmon的功能,并添加了广泛的增强功能列表,包括丰富的和非破坏性的过滤,全面的事件属性(例如会话ID和用户名),可靠的过程信息,具有集成符号支持的完整线程堆栈对于每个操作,同时记录到文件等等。它独特的强大功能将使Process Monitor成为系统故障排除和恶意软件搜寻工具包中的核心实用程序。

链接在这里:

http://technet.microsoft.com/zh-cn/sysinternals/bb896645.aspx


感谢您的建议。您的答案是正确的,但是帮助我在Process Explorer中找到每个线程的CPU使用率的原因是Richard所选择的答案。
dabest1

0

您可以使用内置的Windows性能监视器,只需在开始运行时键入perfmon。一旦执行perfmon,请单击加号,选择进程,选择进程,然后选择要查看的内容。回归本源!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.