在 Windows PerfMon 工具中可以添加多种类型的计数器。
对象之间有什么区别处理器和处理器信息?
例如,它们都有计数器:用户时间、处理器时间和权限时间。那么有什么区别呢?
答案1
这种差异仅在具有多个 NUMA 节点的机器上才有意义。在这样的机器上,“处理器信息”中的处理器由其 NUMA 节点及其在节点内的编号标识。例如,如果您有两个节点,每个节点有四个处理器,那么“处理器信息”会将它们枚举为
0,0
0,1
0,2
0,3
1,0
1,1
1,2
1,3
每对中的第一个数字是 NUMA 节点号。“处理器信息”还提供了伪实例,给出特定于节点的总数(0,_Total
和1,_Total
前面的示例)。
在“处理器”中,处理器只是按顺序编号,并且_Total
无论有多少个 NUMA 节点,都只有一个系统范围的实例。
如今,NUMA 机器通常会使用一种现代点对点互连(QPI 或 HyperTransport),并且会拥有多个物理 CPU 插槽。在这些平台中,每个 CPU 插槽都是自己的 NUMA 节点,拥有自己的一组 DIMM 插槽。
那么,为什么它们同时具有这两种信息呢?如果您只关心每个处理器的信息,那么它们没有区别;您可以从任一组中获取这些信息。但是,在某些性能调优场景中,能够轻松识别 NUMA 节点内的 CPU 使用率非常重要。NUMA 节点范围内的总数特别有价值,因为它们可以让您轻松确定操作系统的调度程序是否为您做了正确的事情(要么将所有相关进程放在一个 NUMA 节点上……要么不,无论您喜欢哪种方式)。
在绝大多数消费和商业机器上,您只有一个物理 CPU 插槽(“CPU 包”),无论它有多少个核心,它都只是一个 NUMA 节点,一组 RAM 由所有核心共享,因此“处理器信息”组不会显示与“处理器”组不同的任何内容。NUMA 机器几乎完全是服务器和高性能工作站的领域。
供参考,这里这是双插槽 NUMA 主板的数据表。您可以清楚地看到 RAM 插槽如何与相应的 CPU 插槽物理关联。
答案2
看一眼此 TechNet 博客了解更多信息。(我现在也在想办法!)