PercentDiskTime_Base 属性表示 PercentDiskTime 在计算中使用的私有计时器 FormattedData_PerfDisk 来自 RawData强>_PerfDisk:
PERF_PRECISION_100NS_TIMER
说明:此计数器类型显示一个由两个计数器值组成的值:正在运行的事件的经过时间的计数
监控,以及来自同一私人计时器的“时钟”时间
单位。它以 100 ns 为单位测量时间。
这种计数器类型与其他计数器定时器的不同之处在于时钟
刻度值伴随计数器值消除任何可能的
由于函数调用的延迟而导致的差异。精密计数器
当标准系统定时器不够精确时使用类型
准确的读数。
通用类型:百分比
公式:NX – N0 / D1 – D0 其中分子 (N) 代表计数器值,分母 (D) 是
私人计时器。私有定时器的频率与 100 ns 相同
计时器。
平均:NX – N0 / D1 – D0
示例:PhysicalDisk\% Disk Time
关于细节和解释,让我们开始分析 Qualifiers 的以下属性(对不起,微软不再定期更新链接内容 ):
PercentDiskTime:数据类型:uint64,访问类型:只读
限定符:CounterType (542573824) , DefaultScale (0) , PerfDetail (100)
所选磁盘驱动器繁忙的已用时间百分比
为读取或写入请求提供服务。
PercentDiskTime_Base:数据类型:uint64,访问类型:只读
限定符:CounterType (1073939712) , DefaultScale (0) , PerfDetail (100)
PercentDiskTime 的基值。
注意:
-
DefaultScale (
sint32) = 10 的幂,用于显示计数器。对于零,估计最大值为10^0,或1,并且
-
PerfDetail (
sint32) = 受众的知识水平。不曾用过。该值始终为100。
PercentDiskTime:数据类型:uint64,访问类型:只读
限定符:CookingType ("PERF_PRECISION_100NS_TIMER")、Counter ("PercentDiskTime")、PerfTimeStamp ("TimeStamp_Sys100NS")、
PerfTimeFreq ("Frequency_Sys100NS") , Base ("PercentDiskTime_Base")
所选磁盘驱动器繁忙的已用时间百分比
为读取或写入请求提供服务。
也可以查看Property Qualifiers for Performance Counter Classes。
一个简单的用法例子:
$xxx = Get-WmiObject Win32_PerfRawData_PerfDisk_PhysicalDisk
$x0 = $xxx | Where-Object Name -eq '_Total' |
Select-Object -Property Name, PercentDiskTime*
$x0
Start-Sleep -Seconds 1
$xxx = Get-WmiObject Win32_PerfRawData_PerfDisk_PhysicalDisk
$xN = $xxx | Where-Object Name -eq '_Total' |
Select-Object -Property Name, PercentDiskTime*
'----'
$xn
'----'
$FormattedPercentDiskTime = ( $xn.PercentDiskTime - $x0.PercentDiskTime ) /
( $xn.PercentDiskTime_Base - $x0.PercentDiskTime_Base )
100*$FormattedPercentDiskTime # not sure about the `100*` multiplier
输出:D:\PShell\SO\58712142.ps1
Name PercentDiskTime PercentDiskTime_Base
---- --------------- --------------------
_Total 2863146220 132202140117518636
----
_Total 2863151515 132202140128078551
----
0,0501424490632737