Eu tenho um Windows 2003 Server rodando um pouco devagar, onde a carga de confirmação e o uso do arquivo de paginação aumentam e aumentam até eu reiniciar. Para consertar isso, preciso descobrir o que está consumindo toda a memória, e é aí que está o grande mistério.
Estatísticas atuais do Gerenciador de tarefas:
Physical Memory (K): 2096400
Commit Charge (K): 5364848
Page file usage: 5.11 GB
Tudo bem, então vamos abrir o SysInternals Process Explorer e verificar o tamanho do conjunto de trabalho de tudo o que está sendo executado. O maior culpado é uma instância do Tomcat usando 121.980K WS, 481.284K VM Size. Nada ali chega perto de explicar a taxa de confirmação de 5 GB.
O passo seguinte: SysInternals pslist : pslist -m
, dividir-se a saída da coluna por coluna e calcular somas para os 61 processos que são relatados.
SUM (Working Set) : 681,484 K
SUM (Private Bytes): 593,424 K
Estou basicamente entendendo mal o que as ferramentas estão relatando? Eu sempre tive a impressão de que um sistema operacional realmente comprometeria muito menos memória do que a quantidade total de memória virtual mapeada por um processo, supondo que ele nunca usaria tanto assim, e que observar a VM aqui é Um arenque vermelho.