$Processes = get-process -computername $tag1 | Group-Object -Property ProcessName
foreach($Process in $Processes)
{
$Obj = New-Object psobject
$Obj | Add-Member -MemberType NoteProperty -Name Name -Value $Process.Name
$Obj | Add-Member -MemberType NoteProperty -Name Mem -Value ($Process.Group|Measure-Object WorkingSet -Sum).Sum
$Obj
}
目前,这会以字节为单位显示内存使用情况,如何更改此内容以显示如下内容:
76,592 KB
并输出自动调整的所有内容? (与左边对齐)
答案 0 :(得分:21)
Format-Table可以显示表达式并自动调整列的大小以适应结果:
get-process -computername $tag1 | Group-Object -Property ProcessName |
Format-Table Name, @{n='Mem (KB)';e={'{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum / 1KB)};a='right'} -AutoSize
答案 1 :(得分:5)
答案 2 :(得分:5)
Get-Process | Select-Object Name,@{Name='WorkingSet';Expression={($_.WorkingSet/1KB)}}
答案 3 :(得分:4)
要获取64位Windows操作系统上使用的每个进程的内存量,请运行以下命令...
Get-Process | Sort-Object WorkingSet64 | Select-Object Name,@{Name='WorkingSet';Expression={($_.WorkingSet64/1KB)}} | Export-Csv -Path "processes64.csv" -Delimiter ","