我的电脑是一台多核电脑。当我试图看到一些性能计数器时,我发现了一个奇怪的结果:" _total"小于单个实例的值。
PS > (get-counter -counter "\Processor(*)\% Processor Time").counterSamples
Path InstanceName CookedValue
---- ------------ -----------
\\hp\processor(0)\% processor time 0 1.56953777804887
\\hp\processor(1)\% processor time 1 1.56953777804887
\\hp\processor(2)\% processor time 2 6.25670264576083
\\hp\processor(3)\% processor time 3 1.56953777804887
\\hp\processor(_total)\% processor time _total 2.74132399533433
看看:
\ hp \ processor(2)\%processor time 2 6.25670264576083
和
\ hp \ processor(_total)\%processor time _total 2.74132399533433
" _total"是所有实例的值的总和。那么为什么在这里不正确?
由于
答案 0 :(得分:0)
简单地说,你使用了错误的基线:
现在,Process Object下的这个Processor time计数器给出了 此进程单独执行的CPU数量。这个值是 计算在基线上(No of Logical CPUS * 100),所以这个 将计算超过100的基数林。
您的总处理时间为10.9653159799074超过400,或大致为.0274,百分比为2.74%
这完全属于反击领域,而不是PowerShell本身的表现形式。