Aprenda a usar a ferramenta RamMap para analisar o consumo de memória no Windows

Aprenda nesse artigo a usar o mini-aplicativo da Sysinternals que é muito útil no quesito de consumo de memória (RAM).



O que é o RamMap?

O RamMap é uma aplicação criada pela Sysinternals da Microsoft, na qual ela permite analisar fisicamente todo o consumo e conteúdos presentes na RAM, sendo compatível a partir do Windows Vista. Ele se concentra na memória como um recurso de todo o sistema compartilhado por todos os processos. Ele permite que você não apenas analise o uso da memória, mas também esvazie partes específicas da memória quando necessário, além dele requerer obrigatoriamente que seja executado como Administrador.

Janela inicial do RamMap da Sysinternals

Para baixar o aplicativo, acesse esse link.


Funções do RamMap

Nas colunas da tabela e o gráfico acima delas mostram quanta RAM está alocada em diferentes listas de páginas. Os tipos de alocação de RAM são apresentados nas linhas da tabela e no gráfico do lado esquerdo, conforme eu detalho agora, onde os principais tipos de alocação de memória mostrados são:

Process Private: Pode ser usado por um único processo.

Mapped File: Representa um arquivo no disco, como executáveis e DLLs. É uma memória compartilhável.

Shareable: Memória que pode ser compartilhada por vários processos e paginada para um disco.

Pool paged: Memória alocada por Kerner que pode ser paginada para um disco.

Pool not paged: Memória alocada pelo kernel que deve sempre permanecer na memória física.

Session Private: Memória alocada por drivers de sessão (por exemplo, teclado, mouse) para uso por uma sessão de serviços de terminal.

Metafile: Memória que representa metadados do sistema de arquivos, como a tabela MFT.

Driver Locked: Memória alocada por um driver e cobrada na confirmação do sistema. O Microsoft Hyper-V usa memória bloqueada por driver para fornecer RAM para máquinas virtuais.

Unsued: A memória não está em uso.


A coluna acima, temos informações muito úteis, como vou destacar elas a seguir:

Active: Memória que está imediatamente disponível para uso. Ele já está no conjunto de trabalho de um processo (ou processos) de usuário ou sistema, bem como em um pool não paginado e locais AWE.

Standby: Memória no cache que foi removida de um conjunto de trabalho, mas pode ser reaproveitada sem incorrer em uma E/S de disco.

Modified: Memória que foi removida de um conjunto de trabalho e já foi modificada, mas ainda não gravada no disco. Ele só pode ser reaproveitado pelo mesmo processo de trabalho do qual foi removido; caso contrário, ele deve ser gravado no disco antes de ser reutilizado.

Zeroed: Memória inicializada com todos os zeros. Está disponível para alocação.

Free: Memória não em uso e não inicializada para zeros. Ele estará disponível para alocação se inicializado a partir de uma leitura de disco. Se necessário, o gerenciador de memória pode zerar páginas da memória livre antes de fornecê-las a um processo do usuário.


As guias desse programinha são muito eficientes, e resumindo cada uma delas, a guia Processes mostra a lista de todos os processos e páginas de RAM associados a cada processo. A guia Priority Summary mostra a quantidade de RAM no tipo de alocação em espera classificada por prioridade. A memória em espera pode ser reutilizada pelo conjunto de trabalho do qual foi liberada ou reaproveitada para atender a novas solicitações de alocação, conforme mostrado na coluna Repurposed.

Guia Processes exibe todos os programas em execução na RAM, podendo alternar entre aquele que está consumindo muita memória

A guia Physical Pages mostra páginas de memória individuais, onde cada página de memória tem um tamanho de 4 kilobytes. Para cada página de memória, você pode ver a lista à qual ela pertence, qual é o tipo de uso (alocação) da página, sua prioridade e um nome de arquivo se essa página contiver um arquivo mapeado. Esse tipo de informação é muito avançado e no caso, para um administrador é totalmente dispensável, enquanto para o programador ela é necessária. Enquanto a guia Physical Ranges mostra os intervalos válidos de memória RAM. Novamente, esse tipo de informação geralmente não é necessário ao solucionar um problema de desempenho. As descontinuidades nas sequências normalmente indicam memória atribuída a um dispositivo, como uma memória de placa gráfica para CPUs com um processador gráfico interno.

A guia Physical Files exibe informações mais detalhadas e técnicas sobre cada aplicação que esteja sendo executado na memória

Já a File Summary lista o caminho para cada arquivo mapeado que a memória alocou. Aqui, você pode ver a quantidade total de RAM usada, quanto está ativo, em espera e assim por diante. Existem vários motivos pelos quais o Windows pode mapear arquivos na memória: executáveis e arquivos DLL são mapeados quando precisam ser carregados, o gerenciador de cache pode mapear arquivos quando o aplicativo executa E/S de caches nele, etc. Por fim, semelhante a guia File Summary, a guia Details File lista todos os arquivos carregados na RAM e a quantidade total de RAM ocupada. Se você clicar no ícone de adição, ele mostrará todas as páginas físicas que o arquivo ocupa.

Por meio dessa guia, você pode monitorar e descobrir a origem e a quantidade de RAM sendo usada no computador

Como mencionado no início, o RamMap permite que você não apenas analise o uso de RAM, mas também pode esvaziar partes específicas da RAM. Isso pode ser útil para resolver determinados problemas como o vazamento de memória. O menu Empty oferece as seguintes opções:

Empty Working Sets: limpa todos os conjuntos de trabalho do usuário e do sistema (memória ativa) e move os dados para as páginas em espera ou modificadas.

Empty System Working Set: limpa o conjunto de trabalho do cache do sistema

Empty Modified Page List: lista de páginas modificadas liberadas e grava os dados não salvos no disco

Empty Standby List: limpa as páginas em espera e as move para as páginas livres.

Empty Priority 0 Standby List: o mesmo que a Stanby List, mas limpa apenas as páginas da prioridade mais baixa.

Opções do menu Empty permite esvaziar o conteúdo da RAM por meio de métodos distintos

O seu uso se restringe exclusivamente a cenários onde algum programa consome muita memória sem necessidade, sendo conhecido tal falha como um vazamento de memória. Ela não otimiza a RAM e muito menos faz "milagre" no Windows para aumentar o desempenho.

Agora que você aprendeu um pouco mais sobre o RamMap, se você quer se evoluir profissionalmente, acesse o site da Sysinternals e busque as ferramentas NECESSÁRIAS para o seu trabalho, seja você técnico de informática ou profissional de T.I.


Ao comentar, mantenha um diálogo saudável entre os internautas. Seu comentário precisa ser aprovado pelo administrador antes de ser publicado.

Próxima postagem Postagem anterior