2012-06-20 39 views
0

有沒有更好的辦法來列出計數器性質針對特定的流程:PowerShell的查詢性能計數器

$pids = get-counter -listset process | get-counter -maxsamples 1 | select -expandproperty countersamples | where {$_.path -like "w3wp"} | select cookedvalue | ForEach {$_.cookedvalue} 
+0

這種方法有什麼問題?它的長度?您也可以在PowerShell中使用WMI或.NET來執行此操作。 – ravikanth

回答

1

您可以使用WMI類「Win32_PerfFormattedData_PerfProc_Process」要做到這一點,以及:

Get-WmiObject -Class Win32_PerfFormattedData_PerfProc_Process -Filter "Name='w3wp'" 

這將爲您提供有關w3wp進程的性能計數器數據。

+0

我遇到的問題是WMI中不包含「working set - private」。這真的很奇怪,因爲它在Windows 2008中用作默認顯示。 –

+0

奇怪。我看到它在Windows 7:VirtualBytes:990130176 VirtualBytesPeak:995373056 工作集:145563648 WorkingSetPeak:150052864 WorkingSetPrivate:54353920 – ravikanth

+0

這個作品!真棒。由於某種原因,我早前錯過了這個。現在會更容易! –