跟踪每个进程的CPU和内存使用情况

时间:2020-03-05 18:55:07  来源:igfitidea点击:

我怀疑我的一个应用程序消耗了比我想要的更多的CPU周期。问题在于它是连发发生的,只是看着任务管理器对我没有帮助,因为它仅显示立即使用情况。

是否有办法(在Windows上)跟踪某些进程的CPU和内存使用情况的历史记录。例如。我将开始跟踪" firefox",大约一个小时后,将看到该小时内CPU和内存使用情况的图表。

我正在寻找现成的工具或者编程方式来实现这一目标。

解决方案

回答

嗯,尽管它的图形不太方便,但我看到Process Explorer可以做到。仍在寻找替代/更好的方法来做到这一点。

回答

Perfmon.exe内置在Windows中。

回答

Process Explorer可以显示一个进程占用的CPU总时间,以及每个进程的历史记录图。

回答

我同意,perfmon.exe允许我们为要监视的任何进程添加计数器(在右侧面板上单击鼠标右键)。

绩效对象:过程
选中"从列表中选择实例",然后选择Firefox。

回答

WMI是Windows Management Instrumentation,它内置于Windows的所有最新版本中。它允许我们以编程方式跟踪诸如CPU使用率,磁盘I / O和内存使用率之类的信息。

Perfmon.exe是此界面的GUI前端,可以监视进程,将信息写入日志,并允许我们在事后分析日志。它不是世界上最优雅的程序,但确实可以完成工作。

回答

我们可能想看看Process Lasso。

回答

只需在"开始">"运行"中键入" perfmon",然后按Enter。当"性能"窗口打开时,单击" +"号将新的计数器添加到图形中。计数器是PC工作方式的不同方面,并按相似性分为称为"性能对象"的组。

对于问题,可以选择"过程","内存"和"处理器"性能对象。然后,我们可以实时查看这些计数器

我们还可以指定实用程序来保存性能数据,以备以后检查。为此,请在左侧面板中选择"性能日志和警报"。 (位于系统监视器控制台的右侧,该控制台为我们提供了上述计数器。如果不存在,请单击"文件">"添加/删除管理单元",单击添加,然后在列表中选择"性能日志和警报"在"性能日志和警报"下,在"计数器日志"下创建一个新的监视配置。然后,我们可以添加计数器,指定采样率,日志格式(二进制或者纯文本)和日志位置。

回答

Process Lasso的设计更多地用于过程自动化和优先级优化,而不是图形。就是说,它确实提供了每个进程的CPU使用率历史记录(在图形上以白线绘制),但是它不提供每个进程的内存使用率历史记录。

免责声明:我是Process Lasso的作者,但实际上并没有在这里认可它,因为有更好的解决方案(perfmon是最好的)。

最好的东西是Windows Vista +资源和性能监视器。它可以跟踪进程随时间推移对CPU,内存,网络和磁盘访问的使用情况。它是一个很不错的总体系统信息实用程序,应该早就创建了。除非我没有记错,否则它可以随时间跟踪每个进程的CPU和内存使用率(以及列出的其他内容)。