Win32_processor 只显示 CPU0

Win32_processor only shows CPU0

我正在尝试从计算机获取性能计数器,直到现在我都使用 Get-Counter,但在 MSDN 周围做了一些挖掘,发现 WMI Object Win32_processor 有一个属性 调用了 LoadPercentage。但是在闲逛之后我确实注意到它只显示 CPU0 (2 个核心中的 1 个)的负载值。那么,是否可以从其他核心获取LoadPercentage

您看到的名称 CPU0 是对 处理器 name/number 的引用,而不是 核心 name/number。

LoadPercentage 属性 是每个处理器的总负载能力 (CPU),即所有 cores 的总和平均为最后一秒 (Ref)。

所以要回答你的问题,你将无法从 Win32_processor WMI 对象中获得单个 核心 负载能力,因为 LoadPercentage 已经对结果 属性 中的所有 核心 负载进行了平均。

如您所述,您可以使用 Get-Counter 检索此信息:

Get-Counter '\Processor(*)\% Processor Time' | select -ExpandProperty CounterSamples

结果:

Path                                            InstanceName      CookedValue
----                                            ------------      -----------
\fpw10rjol1\processor(0)\% processor time      0            40.0035384989971
\fpw10rjol1\processor(1)\% processor time      1            27.6965720372529
\fpw10rjol1\processor(2)\% processor time      2            23.0814596140988
\fpw10rjol1\processor(3)\% processor time      3            9.23612234463661
\fpw10rjol1\processor(_total)\% processor time _total       25.0044182009598