加快“ Get-Counter” PowerShell cmdlet

时间:2019-04-15 16:51:02

标签: powershell

`Get-Counter'\ Process(*)[process counter set]'cmdlet运行缓慢。

  1. 是否可以捕获Get-Counter cmdlet的输出流,这样会更快吗?
  2. 是否可以以与在性能监视器或任务管理器中刷新相同信息的速度刷新输出一样的方式运行Get-Counter cmdlet?

示例:

Get-Counter '\Process(*)\ID Process' -EA SilentlyContinue | 
        Select -Expand CounterSamples | Select InstanceName, CookedValue
Get-Counter '\Process(*)\% Processor Time' -EA SilentlyContinue | 
        Select -Expand CounterSamples | Select CookedValue
Get-Counter '\Process(*)\Working Set - Private' -EA SilentlyContinue | 
        Select -Expand CounterSamples | Select CookedValue

1 个答案:

答案 0 :(得分:2)

Get-Counter的默认“ -SampleInterval”已设置为最小值1秒(https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.diagnostics/get-counter?view=powershell-5.1)。

因此,对于第一个问题,是的,您可以使用Out-File命令将每个Get-Counter调用的输出捕获到日志文件中,然后可以对该日志文件进行尾部处理。不过,您仍然会受到1秒采样间隔的限制。

您的第二个问题也受到1秒采样间隔的限制,所以没有。