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

时间:2008-09-07 04:14:15

标签: monitoring terminal-services

我有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规格'小工具'查看其仪表板选项。如果只是在核心层面工作,那正是我所需要的。

有什么想法吗?

3 个答案:

答案 0 :(得分:1)

通过标准的Windows性能计数器可以获得单独的CPU使用率。您可以在perfmon中监控它。

但是,它不会给你你想要的结果。除非线程/进程已明确绑定到单个CPU,否则一个远程进程不会将一个核心分配到100%而其他所有核心都空闲。失控过程将在所有处理器之间反弹。我不知道为什么Windows以这种方式调度线程,大概是因为强制亲和力没有增益,而且由于必须处理特定内核上的中断而导致一些损失。

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

答案 1 :(得分:1)

您可以尝试Spotlight on Windows。您可以以图形方式钻取各种性能和负载指标。它的免费软件。

答案 2 :(得分:0)

来自Microsoft的

perfmon可以监控每个CPU。 perfmon也可以远程工作,你可以监控Windows的各个方面。

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