【发布时间】:2012-06-13 18:26:32
【问题描述】:
我正在尝试使用以下脚本创建一个用于监控目的的表:
$w3wppriv = get-counter '\process(w3w*)\working set - private'
$w3wpid = get-counter '\process(w3w*)\id process'
0..($w3wpid.Length -1) |
select-object (
@{n="Proces ID"; e={$w3wpid.CounterSamples.Cookedvalue[$_]}},
@{n="Memory Usage(KB)"; e={$w3wppriv.CounterSamples.CookedValue[$_]}}
) |
format-table -auto;
我正在尝试获得以下输出:
Process ID Memory Usage(KB)
---------- ----------------
44353 234324343
35343 230909324
2341 932423234
但是,输出未显示任何数据。我想它与数组有关,但我不清楚如何解决这个问题。谢谢!
【问题讨论】:
-
我想通了...花了我一个小时 :) 不能发帖 8 但这是答案:
-
$w3wppriv = ((get-counter -counter '\process(w3w*)\working set - private').CounterSamples) |选择对象-expandpropertycookvalue $w3wpid = ((get-counter '\process(w3w*)\id process').CounterSamples) |选择对象-expandpropertycookvalue 0..($w3wpid.Length -1) |选择对象 (@{n="进程 ID"; e={$w3wpid[$_]}}, @{n="内存使用情况(KB)"; e={$w3wppriv[$_]}}) |格式表-auto;
-
我一定错过了什么。你不能这样做:Get-Process | Format-Table -property Id, WS -autosize
-
我正在寻找workingset -private...与ws非常不同。
-
好吧,您可以输出运行“get-process |”时看到的“Get-Process”的任何属性。 get-member',但这并不是重点。我只是建议您可以以比“get-counter”更具方向性的方式使用“get-process”。
标签: arrays powershell formatting performancecounter