如何在 24 小时内作为服务监视 Windows Server 2012 上的 CPU 使用率和进程?

Nib*_*Pig 6 windows-server-2008-r2 cpu-usage

我们有一个长时间运行的高性能操作,运行时间为 6 小时。当它最后一次运行时,发生了 5 分钟的事情,在半夜它的性能急剧下降并导致了几次超时。我怀疑还有其他一些进程启动并破坏了 CPU 或类似程序。

本站搜索的建议是使用ProcessMonitor来监控CPU。然而,它似乎只在运行时捕获流量,而且它是一个桌面应用程序。我的windows server 实例闲置10 分钟后踢你,受组策略控制,我无法更改它,所以我不能使用桌面应用程序进行监控。

我需要监控 24 小时内的 CPU 使用率。我只对进程名称和 cpu 使用率 (%) 感兴趣,因此我可以找出是什么(如果有的话)正在启动并破坏事物。

因为你被踢了,所以我真的需要一些可以作为 Windows 服务运行的东西。

有什么方法可以做到这一点(使用 ProcessMonitor 或类似的工具 - 当然 Windows Server 有内置的东西?)作为一项服务,所以我不需要登录到远程桌面,或者我将不得不找到某种鼠标移动脚本并让我的电脑整夜开着?

编辑:

性能监视器看起来很有希望。很难找到如何配置它来给我想要的东西。

我做了一个自定义数据收集器 cpu 和进程 ID:

在此处输入图片说明

我想要做的是能够在特定时间查看每个进程的 CPU 使用率,就像您可以在任务管理器中做的那样,除了图表和在监视期间的任何点查看快照的能力。

所以我可以看到一个 24 小时的图表,看到出现峰值的点,点击它,看看是哪个过程导致了它。

我什至不相信我上面的配置如果我让它工作也会告诉我进程名称,它说进程 ID,如果结果是一个 guid 或类似的,这可能也没有帮助,特别是如果进程开始和停止当我去调查时,它已经不在运行了。

Dan*_*l K 5

Windows Server 有一个内置工具来实时显示性能数据或在日志中收集数据以供日后查看。我认为这将完全符合您的要求。

性能监视器的屏幕截图

有关使用性能监视器在 Windows Server 2012 R2 上进行日志记录的基本教程,请参阅本文

请参阅这篇关于可用于检查 Windows 性能的所有工具(主要是交互式工具)的优秀文章


Nib*_*Pig 5

使用 Daniel K 的性能监视器建议,我找到了如何做到这一点。

  • 加载性能监视器
  • 转到“数据收集器集”
  • 展开“用户定义”
  • 制作一个新的“数据集”
  • 选择“手动创建(高级)”,请注意,如果不删除则无法更改名称,因此现在请使其合理
  • 按下一步,选择“创建数据日志”和“性能计数器”
  • 按下一步,按添加。
  • 左上角,展开“进程”,单击“%处理器时间”以及您可能需要的任何其他内容。
  • 点击左下角“”
  • 单击“添加>>”按钮,然后按“确定”
  • 选择合适的采样间隔,然后继续按“下一步”,直到到达向导末尾。
  • 您可以通过右键单击数据收集器集并按开始,或转到其属性并设置计划来开始收集。我发现我的数据收集器在没有设置停止条件的情况下在大约 30 分钟后停止工作,但这可能是一个异常现象。
  • 数据收集完成后,展开报告 > 用户定义 > 您的数据集
  • 双击将其打开。
  • 请注意底部显示“% Processor Time”,实例为“_Total”。默认情况下,它显示 CPU 总使用率。这包括“空闲时间”,因此它始终在 100% 左右。
  • 单击图表上方顶部栏上的绿色 + 按钮(不在顶部窗口中)
  • 单击左上角的“进程”,在底部您可以选择要查看的各个进程,或选择“”并按“添加”。
  • 单击“确定”,您应该会看到包含每个进程的 CPU 使用情况的详细图表。