我有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规格'小工具'查看其仪表板选项。如果只是在核心层面工作,那正是我所需要的。
有什么想法吗?
答案 0 :(得分:1)
通过标准的Windows性能计数器可以获得单独的CPU使用率。您可以在perfmon中监控它。
但是,它不会给你你想要的结果。除非线程/进程已明确绑定到单个CPU,否则一个远程进程不会将一个核心分配到100%而其他所有核心都空闲。失控过程将在所有处理器之间反弹。我不知道为什么Windows以这种方式调度线程,大概是因为强制亲和力没有增益,而且由于必须处理特定内核上的中断而导致一些损失。
您可以在任务管理器中轻松地看到这一点。当您运行单个计算绑定进程时,请观察各个CPU图表。
答案 1 :(得分:1)
您可以尝试Spotlight on Windows。您可以以图形方式钻取各种性能和负载指标。它的免费软件。
答案 2 :(得分:0)
perfmon可以监控每个CPU。 perfmon也可以远程工作,你可以监控Windows的各个方面。
我不确定找到失控进程是否有帮助,因为Windows调度程序不会始终在同一CPU上执行进程 - >在你的8 CPU机器上,如果一个进程运行,你将看到所有CPU的12.5%使用率。