Obtendo a quantidade de memória que um processo está usando

Obtendo a quantidade de memória que um processo está usando

Estou tentando recuperar apenas a quantidade de memória que um processo está usando. A coisa mais próxima que posso chegar é

tasklist /fi "imagename eq process.exe"

Mas isso retorna um monte de coisas:

Image Name                     PID Session Name        Session#    Mem Usage
========================= ======== ================ =========== ============
process.exe                        3384 Console                    1     81,384 K
process.exe                        6156 Console                    1     30,204 K
process.exe                        1436 Console                    1     84,696 K
process.exe                         216 Console                    1    195,100 K

Existe alguma maneira (sem baixar/instalar nenhum programa) de obter apenas um valor numérico da quantidade de memória que algo está usando?

Responder1

Tente isto: 1. Faça um arquivo txt e cole este código:

get-process | Group-Object -Property ProcessName | 
Format-Table Name, @{n='Mem (KB)';e={'{0:N0}' -f (($_.Group|Measure-Object WorkingSet -Sum).Sum / 1KB)};a='right'} -AutoSize

Salve como, algo.ps1 e vá para executar (win + r) digite: powershell enter. pesquise o arquivo que você criou e execute-o. Por exemplo, se você tiver este arquivo em sua área de trabalho, vá para sua área de trabalho no PowerShell (com o comando cd) e pressione a tecla Tab o quanto for necessário para encontrar seu arquivo com ele e entre. Espero que você possa entender isso. Fornece o uso de memória em KB. Se você quiser em MB, altere "/1KB para /1MB"

Se você não quiser o nome, você pode excluir "Nome" após a tabela de formatação. Além disso, se você quiser um processo especificado após a gravação do processo get:

-ProcessName exampleprocess

Nota: Se não quiser executar porque os scripts estão desabilitados ou algo assim: abra uma janela do PowerShell e digite:

Set-ExecutionPolicy RemoteSigned

informação relacionada