Discrepância entre o Get-Process e o Task Manager

3

Estou fazendo um script do PowerShell para obter o processo do top 10 que está consumindo memória, com base no valor Working Set (WS) do Get-Process. Estou executando a seguinte linha e obtendo os resultados, parece ótimo, mas quando eu check-in gerenciador de tarefas eu não recebo os mesmos valores. Até a ordem é diferente.

Get-Process | Sort WS -Descending | Select Name,WS -First 10

Como isso:

Emseguida,ogerenciadordetarefastemisto:

Alguns outros cálculos precisam ser feitos? Alguém poderia explicar?

Obrigado por conselhos.

PS: o sistema operacional está em português.

    
por esserafael 25.08.2014 / 19:30

2 respostas

4

Ok, acabei de perceber o que estava acontecendo. A coluna "Memory" dafault no Gerenciador de Tarefas está representando o Conjunto de Trabalho Particular, não o Conjunto de Trabalho do Powershell, que representa a memória privada e compartilhada com outro processo. Apenas ativou a coluna "Memory - Working Set" no Gerenciador de Tarefas e corresponde.

Obviamente,osvaloresnoPowershellestãoembytes,precisamsercalculadosparaMb.

Estapáginatambémfoiútil:

link

    
por 25.08.2014 / 19:52
2

O Conjunto de Trabalho (Compartilhado) e o Conjunto de Trabalho Particular são duas coisas diferentes.

Mais informações Algumas palavras sobre o uso de memória ou: conjunto de trabalho versus conjunto de trabalho particular .

Para obter o Conjunto particular de trabalho via Get-Process no PowerShell, você pode usar "PrivateMemorySize":

Get-process | Sort PrivateMemorySize -Descending | Select Name,PrivateMemorySize -First 10

    
por 25.08.2014 / 22:36

Tags