You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让PowerShell输出的进程内存与任务管理器数值匹配?

调整PowerShell脚本让工作集内存输出匹配任务管理器数值

任务管理器里的“工作集”内存显示单位是千字节(KB),而Get-Process的WorkingSet64属性返回的是字节,这就是两者数值不匹配的核心原因。只需要在脚本里加上单位转换和取整逻辑,就能让输出和任务管理器对齐。

修改后的脚本如下:

$computerName = "mymachine" # 远程计算机名称
$processName = "SunGard.Vpm.ProcessingServer.ServiceHost" # 进程名称

$username = 'walter.johnson'
$password = 'mypassowrd'

$secpw = ConvertTo-SecureString $password -AsPlainText -Force
$cred  = New-Object Management.Automation.PSCredential ($username, $secpw)
  

Invoke-Command -ComputerName $computerName -Credential $cred -ScriptBlock {
    Get-Process -Name "FIS*" | ForEach-Object {
        # 把字节转换为KB并取整,匹配任务管理器的显示逻辑
        [Math]::Round($_.WorkingSet64 / 1024)
    }
}

关键修改点:

  • 用ForEach-Object遍历进程,方便对内存数值做计算处理
  • $_.WorkingSet64 / 1024完成字节到千字节的单位转换
  • [Math]::Round()对结果取整,和任务管理器的数值展示逻辑一致

如果出现微小的数值差异,是因为任务管理器和脚本的采样时间点不同,属于正常现象。

内容的提问来源于stack exchange,提问作者capser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 07:05:02