Este tópico descreve como identificar e resolver as causas do alto uso de memória em uma instância Windows, que pode causar problemas como lentidão do sistema.
Os exemplos neste tópico utilizam o Windows Server 2022. A interface do usuário pode variar ligeiramente entre diferentes versões do sistema operacional. Consulte a interface do seu sistema operacional.
Sintomas
Uma instância ECS com Windows pode apresentar travamentos e seus serviços internos podem responder lentamente. No console do ECS, o monitoramento de memória indica alto uso de memória, ou você recebe alertas de alto uso de memória.
Possíveis causas
As causas comuns de alto uso de memória incluem:
-
Processos ou serviços anormais consomem uma grande quantidade de memória.
-
A carga de trabalho elevada das aplicações exige mais memória do que a memória física disponível na instância.
Procedimento
Para identificar a causa do alto uso de memória, siga estas etapas.
Verificar o uso total de memória
Use o Task Manager integrado do Windows para visualizar o uso de memória.
-
Na caixa de pesquisa no canto inferior esquerdo da área de trabalho do Windows, insira Task Manager e pressione
Enterpara abrir o Task Manager. -
No Task Manager, clique na aba Performance e, em seguida, clique em Memory no painel à esquerda para visualizar o uso de memória.
O painel à direita exibe os detalhes do uso de memória, incluindo a capacidade total, a memória In use (compressed), a memória Available e a porcentagem de uso de memória.
Visualizar o uso de memória por processo
Use o Resource Monitor do Windows para visualizar o uso de recursos, incluindo o uso de memória por processo.
-
Na caixa de pesquisa no canto inferior esquerdo da área de trabalho do Windows, insira Resource Monitor e pressione
Enterpara abrir o Resource Monitor. -
No Resource Monitor, clique na aba Memory para visualizar o uso de memória de cada processo. Verifique o valor na coluna Commit (KB) para identificar processos que consomem grandes quantidades de memória. Em seguida, com base na carga de trabalho do negócio, determine se o comportamento do processo é esperado.
O uso de memória física é composto pelas seguintes partes:
-
Memória reservada pelo hardware: uma parte da memória física que o sistema reserva para dispositivos de hardware. Esses dispositivos incluem GPUs (Graphics Processing Units), placas de som, placas de rede e módulos Bluetooth. Aplicativos padrão não podem utilizar esta memória reservada, que destina-se a garantir o funcionamento normal dos dispositivos de hardware.
-
Memória em uso: memória utilizada por processos, drivers e o sistema operacional.
-
Memória modificada: memória cujo conteúdo precisa ser gravado no disco antes de ser reutilizado para outros fins.
-
Memória em espera: memória que contém dados em cache e código não utilizados.
-
Memória livre: memória que não contém dados úteis. Esta memória é utilizada primeiro quando processos, drivers ou o sistema operacional precisam solicitar mais memória.
-
Cache: quando um arquivo é aberto, o sistema armazena o arquivo em um cache para leituras e gravações subsequentes mais rápidas. No Windows Server 2008 R2 e versões posteriores, o uso desse cache é limitado. Isso garante que memória física suficiente permaneça disponível para aplicativos, mesmo quando o cache é grande.
-
Visualizar o uso de memória de processos do sistema
Se o Task Manager e o Resource Monitor não mostrarem processos que consomem uma grande quantidade de memória, mas o uso de memória da instância ainda estiver alto, a causa pode ser alto consumo de memória por processos do sistema. Nesse caso, use a ferramenta RamMap da Microsoft para análise mais detalhada. Essa ferramenta mostra a quantidade de dados de arquivo armazenados em cache na RAM por processos do sistema e a quantidade de RAM utilizada pelo kernel e drivers de dispositivos.
-
Baixe e descompacte a ferramenta RamMap.
Acesse o site da Microsoft para baixar o RamMap. Após o download, descompacte o pacote.
-
Clique duas vezes no RamMap para abri-lo e visualizar os detalhes do uso de memória.
Por padrão, o RamMap abre na aba Use Counts. A tabela lista tipos de memória, como Process Private, Mapped File, Shareable, Page Table, Paged Pool, Nonpaged Pool e Metafile, e exibe o uso em colunas como Total, Active, Standby, Modified, Zeroed e Free. Na parte superior, um gráfico de barras codificado por cores mostra a proporção de cada tipo.
As abas na ferramenta RamMap exibem informações sobre o uso de recursos de diferentes maneiras. A lista a seguir descreve cada aba.
-
Use Counts: resumo do uso por tipo e lista de páginas.
-
Processes: tamanho do conjunto de trabalho de cada processo.
-
Priority Summary: tamanhos da lista de espera por prioridade.
-
Physical Pages: uso por página de toda a memória física.
-
Physical Ranges: endereços da memória física.
-
File Summary: dados de arquivo na RAM, agrupados por arquivo.
-
File Details: páginas físicas individuais, agrupadas por arquivo.
-
Resolver alto uso de memória
A tabela a seguir descreve as causas e soluções para alto uso de memória.
|
Problema |
Causa |
Solução |
|
Um único aplicativo ou processo do usuário consome memória excessiva por um período prolongado. |
Um aplicativo ou processo anormal consome memória excessiva. |
No Task Manager ou Resource Monitor, localize o aplicativo que consome mais memória, clique com o botão direito no aplicativo e selecione End task. null
Antes de encerrar um processo, certifique-se de entender a função dele para evitar causar uma interrupção de serviço. |
|
A carga de trabalho exige mais memória física do que a instância oferece. |
Avalie a carga de trabalho e altere o tipo de instância para adicionar mais memória física. |
|
Um único aplicativo ou processo apresenta picos breves e esporádicos no uso de memória. |
Picos de tráfego ou tarefas agendadas causam períodos curtos de alto consumo de memória. |
|
Referências
-
Para informações sobre alto uso de memória no Linux, consulte Como resolver alto uso de memória em uma instância Linux.
-
Use o Process Explorer da Microsoft para visualizar informações detalhadas sobre o uso de memória dos processos.
-
Use a ferramenta Poolmon da Microsoft para rastrear e identificar a origem do consumo de pool de memória do kernel por pool tag.