在power
shell命令下运行时,我有以下结果,
PS C:\> Get-Process svchost Handles NPM(K) PM(K) WS(K) VM(M) cpu(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 546 34 18528 14884 136 49.76 260 svchost 357 14 4856 4396 47 18.05 600 svchost 314 17 6088 5388 42 12.62 676 svchost 329 17 10044 8780 50 12.98 764 svchost 1515 49 36104 38980 454 232.04 812 svchost 301 33 9736 6428 54 2.90 832 svchost 328 26 8844 9744 52 4.32 856 svchost 247 18 8144 9912 77 37.50 904 svchost 46 5 1504 968 14 0.02 1512 svchost 278 15 4048 5660 43 3.88 2148 svchost 98 14 2536 2460 35 0.66 2504 svchost
在这里我试图计算进程的总内存大小PM(K).我在ps1脚本文件中有以下行
get-process svchost | foreach {$mem=("{0:N2}MB " -f ($_.pm/1mb))}
它以下列格式给出输出
17.58MB 4.79MB 6.05MB 9.99MB 35.29MB 9.56MB 8.64MB 7.95MB 1.47MB 3.95MB 2.48MB
但我需要总大小作为单个值,如107.75MB
如何计算svchost进程的总使用内存大小?
谢谢
您可以使用Measure-Object cmdlet
$measure = Get-Process svchost | Measure-Object PM -Sum $mem = ("{0:N2}MB " -f ($measure.sum / 1mb))