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
我正在尝试从计算机获取性能计数器,直到现在我都使用 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