Powershell 的 get-counters cmdlet 中返回的“熟值”是啥?
Posted
技术标签:
【中文标题】Powershell 的 get-counters cmdlet 中返回的“熟值”是啥?【英文标题】:What is "cooked value" returning in Powershell's get-counters cmdlet?Powershell 的 get-counters cmdlet 中返回的“熟值”是什么? 【发布时间】:2013-04-25 19:57:24 【问题描述】:我正在使用 Powershell 返回某些性能计数器的值,并且我看到它在呈现信息时指的是“Cookedvalues”。我正在寻找自己报告的每个计数器命中,因此我可以进行分析,例如查看第 90 个百分位值或最大值/最小值,因此我需要知道它是如何达到熟值的。这是我目前正在使用的代码:
$computer = $ENV:Computername
$instance = "_total"
@("\\$Computer\PhysicalDisk(*)\Current Disk Queue Length",
"\\$Computer\PhysicalDisk(*)\% Disk Time",
"\\$Computer\PhysicalDisk(*)\Avg. Disk Queue Length",
"\\$Computer\PhysicalDisk(*)\Avg. Disk Read Queue Length",
"\\$Computer\PhysicalDisk(*)\Avg. Disk Write Queue Length",
"\\$Computer\PhysicalDisk(*)\Avg. Disk sec/Transfer"
"\\$Computer\PhysicalDisk(*)\Avg. Disk sec/Read",
"\\$Computer\PhysicalDisk(*)\Avg. Disk sec/Write") |%
(Get-Counter $_.replace("*",$instance)).CounterSamples |
Select-Object Path,CookedValue |
Format-Table -AutoSize
# Retrieve the current Processor performance counter information.
$computer = $ENV:Computername
$instance = "_total"
@("\\$Computer\Processor(*)\% Processor Time",
"\\$Computer\Processor(*)\% User Time",
"\\$Computer\Processor(*)\% Privileged Time",
"\\$Computer\Processor(*)\Interrupts/sec",
"\\$Computer\Processor(*)\% DPC Time",
"\\$Computer\Processor(*)\DPCs Queued/sec"
"\\$Computer\Processor(*)\% Idle Time",
"\\$Computer\Processor(*)\% Interrupt Time") |%
(Get-Counter $_.replace("*",$instance)).CounterSamples |
Select-Object Path,CookedValue |
Format-Table -AutoSize
# Retreive the current Memory counter information
$computer = $ENV:Computername
$instance = "_total"
@("\\$Computer\Memory\Page Faults/sec",
"\\$Computer\Memory\Available Bytes",
"\\$Computer\Memory\Committed Bytes",
"\\$Computer\Memory\Commit Limit",
"\\$Computer\Memory\Pages/sec",
"\\$Computer\Memory\Free System Page Table Entries"
"\\$Computer\Memory\Pool Paged Resident Bytes",
"\\$Computer\Memory\Available MBytes") |%
(Get-Counter $_.replace("*",$instance)).CounterSamples |
Select-Object Path,CookedValue |
Format-Table -AutoSize
【问题讨论】:
【参考方案1】:根据https://blogs.technet.com/b/nexthop/archive/2011/06/02/gpsperfcounters.aspx,“CookedValue”是:
性能计数器通常具有原始值、第二个值和熟化值。原始值和第二值是性能计数器使用的原始成分,而“熟值”是将这些成分“烹饪”成供人类食用的东西的结果。
显然,CookedValue 是结合计数器的原始数据以获得您可以理解和使用的可用值的结果。
【讨论】:
这是有道理的。再次查看非压力系统上的值,它们似乎在它们所代表的计数器的上下文中是有意义的。我仍然希望我知道他们正在做什么数学来得出这个值,但这让我得到了我现在需要的东西。谢谢!以上是关于Powershell 的 get-counters cmdlet 中返回的“熟值”是啥?的主要内容,如果未能解决你的问题,请参考以下文章
Powershell 的 get-counters cmdlet 中返回的“熟值”是啥?