监视终端服务器上的CPU核心使用情况

时间:2020-03-05 18:48:53  来源:igfitidea点击:

我有Windows 2003终端服务器,多核。我正在寻找一种监视这些服务器上各个CPU核心使用情况的方法。最终用户可能会有失控的程序(例如Internet Explorer或者Outlook)。该过程的核心可能会飙升至接近100%,而其他核心保持"正常"状态。因此,服务器上的总体CPU使用率只是所有核心的总和,或者8核心服务器上的7个核心处于空闲状态,而第8个正在以100%运行,则1/8 = 12.5%的使用率。

我可以使用什么工具来监视多台服务器?如果内核的CPU使用率"很高",我将使用什么来确定有问题的进程,如果该进程在"已批准的终止进程"列表中,该如何自动终止该进程?

http://www.packettrap.com/上的一种名为PT360的产品将是完美的,除了它们使用SMNP来获取数据,而且SMNP似乎只能提供总的CPU使用率,而不会被单个内核破坏。看看他们带有CPU仪表"小工具"的"仪表板"选项。如果它只在核心级别起作用,那正是我所需要的。

有任何想法吗?

解决方案

回答

Microsoft的perfmon可以监视每个单独的CPU。 perfmon还可以远程工作,我们可以监视Windows的不利方面。

我不确定这是否有助于找到失控的进程,因为Windows调度程序不会始终在同一CPU上执行进程->在8 CPU的计算机上,如果一个进程失灵,则所有CPU的使用率将为12.5%。

回答

可通过标准Windows性能计数器获得各个CPU的使用情况。我们可以在perfmon中监视它。

但是,它不会为我们提供所需的结果。除非线程/进程已明确绑定到单个CPU,否则失控的进程不会将一个内核的峰值提高到100%,而其他所有内核都处于空闲状态。失控的过程将在所有处理器之间反弹。我不知道为什么Windows以这种方式调度线程,大概是因为强制关联并没有带来好处,而由于必须处理特定内核上的中断而造成了一些损失。

我们只需在任务管理器中就可以轻松地看到这一点。当我们运行单个计算绑定进程时,请观察各个CPU图。

回答

我们可以尝试在Windows上使用Spotlight。我们可以以图形方式深入研究各种性能和负载指标。它的免费软件。