Consumo de Memória RAM A FUNDO
O artigo abaixo foi atualizado em 2020 com informações adicionais a atualizadas deste vídeo publicado em 2017.
Nesse artigo eu abordo o Consumo de Memória RAM A FUNDO, detalhando como o Windows trabalha com a memória RAM.
Este artigo ajuda os internautas a compreenderem sobre performance e otimização no Windows, já que infelizmente a atual geração de internautas aprendeu isso com jornalistas e youtubers que não dominam esse assunto e publicam artigos e vídeos com e conceitos errados.
No meu artigo sobre a edição LTSC eu notei que muitos gamers defendem mitos e crenças incorretas que certamente foram ensinados por gamer e youtubers que entendem muito pouco sobre o gerenciamento de CPU e memória RAM. Como esse nicho de mercado PRECISA ter um PC com o máximo de performance possível, eles recorrem a dicas e conselhos de pessoas que entendem sobre hardware, mas que infelizmente não entendem tanto de Windows como entendem de hardware, com o agravante do hardware depender diretamente do Windows e de seus componentes para funcionar corretamente.
O resultado disso é que a internet está cheia de “dicas” e “soluções” equivocadas para otimização de jogos e do Windows em si, da mesma maneira que acontece com os “guias de otimização de SSD” que eu abordei nos 3 artigos sobre otimização de SSD, aonde praticamente todas dicas existentes na web são inúteis.
Nesse vídeo sobre Consumo de memória RAM A FUNDO eu destruo a conhecida crença que “quanto mais memória RAM livre, melhor”.
Melhorias no gerenciamento de memória RAM
Conforme a Microsoft lança novas versões do Windows, entre as novidades do novo sistema operacional estão diversos aprimoramentos que ficam “invisíveis” aos usuários, e um deles é justamente o gerenciamento da memória RAM.
Em 2009 o Windows 7 trouxe melhorias no PFN (Page Frame Number), permitindo que algumas tarefas em memória fossem realizadas até 15x mais rápido, além de otimizar a memória RAM para uso em processadores que começaram a ser lançados cada vez com mais cores. Antes dele o Windows Vista introduziu o ReadyBoost, que é um cache complementar à memória RAM e que otimiza bastante o carregamento de programas
Em 2012 o Windows 8 trouxe três importantes funcionalidades relacionadas ao gerenciamento de memória RAM:
1. A suspensão automática de Aplicações Modernas quando elas estão em segundo plano, fazendo com que elas ocupem 0% de CPU
2. A combinação de memória, que analisa se havia conteúdo duplicado na memória RAM – e se houvesse, ele mantinha uma única cópia e apagava as demais cópias, liberando o espaço destas para outro uso
3. A priorização de memória, em que o Windows define se o conteúdo da memória sendo usada é prioritário ou não, permitindo descartar os arquivos com baixa prioridade para que arquivos de maior prioridade tenham mais espaço na RAM.
Exemplo dessa última funcionalidade de priorização de memória: quando um antivírus analisa um programa, ele aloca um espaço da memória RAM para fazer isso, mas assim que ele finaliza a análise desse programa, aquele espaço pode ser utilizado por outro programa, pois ele não é mais utilizado. Sabendo disso, quando o antivírus aloca inicialmente esse espaço, ele informa o Windows que esse espaço é de Baixa Prioridade.
Isso não acontece quando você abre o Photoshop, em que o espaço de memória utilizado por ele é utilizado por vários módulos do programa que precisam ficar ali enquanto o usuário estiver utilizando o próprio programa – então esse espaço é alocado como Alta Prioridade.
Se o Photoshop precisar de mais espaço na memória RAM, o Windows 8 libera áreas de Baixa Prioridade para isso, mantendo na memória RAM apenas os módulos mais usados das aplicações importantes, evitando que elas fossem salvas no arquivo de paginação do disco rígido (cujo acesso é muito mais lento do que a memória RAM).
Cenário apocalíptico em servidores
A prova final de que o algo uso da memória RAM é benéfico acontece em um cenário aonde o uso da memória RAM é CRUCIAL para o desempenho do computador: em servidores.
Enquanto um bom computador de gamer tem um único processador com alguns cores, 16GB de memória RAM, é utilizado por uma única pessoa (o próprio gamer) e o “trabalho pesado” no jogo na prática é realizado pela GPU (a placa de vídeo) e não pela CPU, na prática esse computador é um PC da Xuxa se comparado com servidores que têm por aí, com vários processadores com dezenas de cores, algumas centenas de GB de memória RAM, centenas ou milhares de usuários trabalhando simultaneamente nele, e sem NENHUMA ajuda da GPU: TUDO realizado ali depende EXCLUSIVAMENTE da CPU, da memória RAM, e dos dispositivos de armazenamento, que são os HD e SSD.
E é precisamente nesse “cenário apocalíptico” que o gerenciamento de CPU e memória RAM do Windows é testado no limite – e não é à toa que saem daí algumas melhorias para as versões desktop do Windows, como o Windows 10, da mesma maneira que algumas tecnologias dos carros de Fórmula 1 acabam sendo utilizados nos carros de passeio.
E você realmente acha que os administradores de TI, que normalmente são profissionais com conhecimento técnico mais profundo sobre Windows, se preocupam em “economizar memória RAM” nessa situação calamitosa? É claro que não, pois eles sabem que o Windows ajusta e adapta constantemente o uso da memória RAM para otimizar ao máximo o trabalho ali realizado, sem que ele tenha que se preocupar com isso.
Nesse ambiente de uso EXTREMO do hardware e software, é muito comum que a CPU atinja constantemente 90% e se mantenha ali, e a quantidade de memória RAM utilizada varia a todo instante. Isso acontece pois o Windows está aproveitando AO MÁXIMO o hardware disponível.
Se esse servidor utilizar somente 5% da CPU e boa parte da memória RAM estiver livre, tenha certeza que o administrador vai sair correndo para descobrir qual é o problema, pois isso não é normal.