在Process Explorer术语中,它是WS Private Bytes,而在Task Manager术语中,它是Private Working Set.
我希望命令行实用程序在给定进程名称的情况下显示此信息.
编辑
PowerShell脚本也可以.
在PowerShell你可以使用:
[编辑]
function ProcessInfo
{
param
([String]$processName)
$workingSet = get-counter -counter "\Process($processName)\Working Set - Private" | select -expandproperty countersamples | select cookedvalue
$privateBytes = get-counter -counter "\Process($processName)\Private Bytes" | select -expandproperty countersamples | select cookedvalue
get-process $processName | select `
name, `
@{Name="Private Working Set"; Expression = {$workingSet.CookedValue}},`
@{Name="WS Private Bytes"; Expression = {$privateBytes.CookedValue}}
}
ProcessInfo("winrar")
Run Code Online (Sandbox Code Playgroud)
[EDIT2]
这是一个改进版本,它将进程id作为参数.
function GetProcessInfoById
{
param
([int]$processId)
Get-WmiObject -class Win32_PerfFormattedData_PerfProc_Process | where{$_.idprocess -eq $processId} | select `
@{Name="Process Id"; Expression = {$_.idprocess}},`
@{Name="Counter Name"; Expression = {$_.name}},`
@{Name="Private Working Set"; Expression = {$_.workingSetPrivate / 1kb}}
}
GetProcessInfoById 380
Run Code Online (Sandbox Code Playgroud)
这是一个将进程名称作为参数的版本.这可能会返回多个值(每个进程实例一个),您可以按值识别进程Process Id.
function GetProcessInfoByName
{
param
([string]$processName)
Get-WmiObject -class Win32_PerfFormattedData_PerfProc_Process | where{$_.name -like $processName+"*"} | select `
@{Name="Process Id"; Expression = {$_.idprocess}},`
@{Name="Counter Name"; Expression = {$_.name}},`
@{Name="Private Working Set"; Expression = {$_.workingSetPrivate / 1kb}}
}
GetProcessInfoByName svchost
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5090 次 |
| 最近记录: |