Em um servidor Windows 2019 equipado com 24 GiB de memória, apenas cerca de 1 GiB é gratuito.
Mas quando eu uso Task Manager
ou Process Explorer
, nenhum processo usa mais do que alguns MiB.
Se eu adicionar a memória usada por cada processo, a soma é de apenas 3 GiB (exporto os dados com o Process Explorer e faço a soma em uma planilha).
Memória total: 24 GiB
Memória usada: 23 GiB
Troca usada: 4 GiB
Soma de cada memória de processo: 3 GiB
Eu soma Private Bytes
ou Working Set
, cada um dá um total em torno de 3 GiB.
Eu sei que esses dois indicadores estão longe de serem ótimos, mas um melhor não está disponível com essas ferramentas. A diferença com a realidade é de quase uma ordem de magnitude!
Como posso ter uma visão melhor do uso da memória?
Uma exibição gráfica como em WinDirStat
seria muito bom, mas como esta questão é um incômodo principal com o Windows, duvido que exista algo fácil.
Você pode usar o RAMMap para ver onde sua memória está atribuída, com uma exibição gráfica.
E talvez PoolMon do Windows Driver Kit (WDK) para ajudá-lo a encontrar drivers com vazamento, a Microsoft fornece exemplos na documentação (dê uma olhada em
Example 3: Detect Memory Leakage
, ou seja, iniciarpoolmon /p /p /b
e monitorar a saída regularmente).