如何获取特定应用程序中每个线程的当前 CPU 使用率?是否可以从某个地方或使用某些工具获取该信息?
答案1
如需快速解答,请使用 SysInternal 的进程探索器。双击某个进程打开详细信息对话框。线程选项卡提供了所有线程的可排序列表,包括上下文切换增量和 CPU 时间。
答案2
Perfmon(性能监视器)应该会给你你想要的详细信息。
以下假设 Windows 2000、XP 或 Server 2003。我没有检查过,但我认为 Vista、Windows 7 和 Server 2008 中的性能监视器有点不同。
要运行性能监视器,请转至开始 > 控制面板 > 管理工具 > 性能
要为应用程序的每个线程添加图表,请右键单击图表并选择“属性”。您可能希望删除它附带的任何默认设置,以获得更清晰的图表。
单击“添加...”按钮并确保选中“使用本地计算机计数器”(除非您想要监视不同的服务器,在这种情况下,请继续选择该选项)。
在“性能对象”下选择“线程”
选择计数器“% Processor Time”,然后选择所有要监视的线程(按住 Control 键并单击可选择多个)。单击“添加”,然后单击“关闭”。
返回属性,您可以通过分配颜色、图案等根据需要自定义图表。单击“确定”。
您可能需要启动绘图,如果这样做,则单击红色的“停止”符号以使其未启用将启动绘图。
答案3
进程监视器(sysinternals)
我认为 Sysinternals 的 ProcessMonitor(最近被 Microsoft 收购)可能会起作用。
Process Monitor 是一款适用于 Windows 的高级监控工具,可显示实时文件系统、注册表和进程/线程活动。它结合了两个旧版 Sysinternals 实用程序 Filemon 和 Regmon 的功能,并添加了一系列增强功能,包括丰富且无损的过滤、全面的事件属性(如会话 ID 和用户名)、可靠的进程信息、完整的线程堆栈(每个操作均带有集成符号支持)、同时记录到文件等。其独特而强大的功能将使 Process Monitor 成为系统故障排除和恶意软件搜寻工具包中的核心实用程序。
链接在这里:
http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
答案4
您可以使用内置的 Windows 性能监视器,只需在开始时输入 perfmon,然后运行。进入 perfmon 后,单击加号,选择进程,选择您的进程,然后选择您想要查看的内容。回到基础!