windows – 如何使用PowerShell计算和使用单个进程的多个实例的内存?

前端之家收集整理的这篇文章主要介绍了windows – 如何使用PowerShell计算和使用单个进程的多个实例的内存?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在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))

猜你在找的Windows相关文章