随着时间的推移,按进程记录 %CPU

Lon*_*tom 53 windows process-explorer perfmon

Windows 上是否有任何简单的方法可以将每个进程的 CPU 时间百分比随时间记录到文件中以供以后分析?

就我所见...

  1. 任务管理器向我显示每个进程的 CPU 百分比,但仅在视觉上显示 - 无法保存到文件。
  2. Perfmon 将让我保存到一个文件,并另外创建一个基于时间的文件(以指定的时间间隔拍摄快照) - 这几乎是我想要的,除了据我所知它不能分解 % CPU按进程。
  3. Process Explorer 会让我按流程分解,但它只会将文件保存为单个时间点的快照

因此,这些都不是我所需要的:我需要获取一个文件,其中包含“CPU 排名前 10 的进程,每 15 秒一次,直到我停止监视”我需要这个的原因是因为我有一台机器某些进程每天偶尔会导致 CPU 使用率出现几次短暂的峰值,我需要找出哪个进程是罪魁祸首。

有什么可以做到的,还是我错过了 perfmon 或 process explorer 的某些功能?

Der*_*ler 49

Process Monitor可以为您做到这一点。

您首先可能希望启用分析事件的收集:

在此处输入图片说明在此处输入图片说明

然后,根据需要收集数据(如果您计划长时间收集,您可能需要设置过滤器并启用丢弃过滤事件)。然后转到工具 -> 流程活动摘要:

在此处输入图片说明

您现在将获得您记录的所有活动进程的列表,以及它们随时间的活动。 在此处输入图片说明

然后,您可以打开单个进程的详细信息(通过双击它)并检查图表中某些事件的时间戳:

在此处输入图片说明

  • 难道还有更简单的事情吗?看来您需要学习如何使用它。对于一些小检查,我只想在 cpu 使用率高于 X % 时获得进程的 cpu 使用时间 (6认同)
  • 谢谢。这在视觉上相当令人印象深刻(我不敢想象如果让它长时间运行它会使用多少内存)。它对于能够在屏幕上查看进程正在执行的操作当然很有用。但是,如果我从流程活动摘要屏幕中单击“保存”,保存的仍然是单时间点快照,没有与时间相关的数据。 (2认同)
  • @PhantomDrummer:转到选项 -> 分析事件。您可以在此处将间隔设置为 1 秒或 100 毫秒。就目前而言。如果文件仍然变得太大,您必须设置更严格的过滤器并启用“删除过滤的事件”。 (2认同)