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).
Computador A x Computador B
Exemplo simples: imagine dois computadores com a mesmíssima configuração de hardware e software, aonde ambos têm 4 GB de memória RAM instalada.
Quando o computador A está sendo utilizado, ele gasta 1 GB de memória RAM, e quando o o computador B está sendo utilizado, ele gasta 50% a mais: 1,5 GB de memória RAM. Com isso, o computador A tem 3 GB de memória livre, enquanto o computador B tem 500 MB a menos: 2,5 GB.
Pergunta: Qual dos dois é o mais rápido?
Se você acredita que é o computador A, por ter mais memória livre, você está enganado. Se você acredita que é o computador B que tem 500 MB a menos, você também está enganado. Por que? Pois não fazemos ideia do que são esses 500 MB adicionais, então não dá para concluir absolutamente nada sobre a diferença de performance no Windows.
Para sabermos qual dos dois é mais rápido, precisamos analisar o conteúdo da memória RAM para saber se esses 500 MB influenciam ou não na performance.
E de uma maneira bastante simplificada, imagine que o computador A tem 700 MB de sistema operacional, drivers e serviços mais três aplicativos abertos (cada um com 100 MB), e mais nada. Enquanto isso, o computador B tem os mesmos 700 MB de sistema operacional, drivers e serviços, os mesmos três aplicativos abertos (também com 100 MB cada), e mais dez arquivos de cache desses programas e do Windows, totalizando 500 MB.
Quando o computador A for utilizado, ele precisa acessar constantemente o disco rígido ou SSD para ler e salvar os arquivos de cache, pois esses dez arquivos de cache não estão na memória RAM: eles estão no disco rígido ou SSD. Por outro lado, quando o computador B for utilizado, esses arquivos serão lidos e salvos muito mais rápido pois eles já estão na memória RAM, com a vantagem do disco rígido e SSD nem serem acessados.
Então qual é o computador mais rápido? A ou B?
O que define qual dos computadores é mais rápido é o fato do disco rígido ser em média 100x mais lento do que a memória RAM e um SSD ser em média 20x mais lento que a memória RAM. Com isso, o computador A levará muito mais tempo acessando esses dados do que o computador B, e o fato dele ter mais espaço livre de memória RAM não muda isso em nada: se ele tiver 8 GB ou 256 GB de memória RAM adicional, isso é irrelevante por não impedir EM NADA a lentidão existente no acesso aos dados do disco rígido e SSD.
A conclusão é óbvia: mesmo que o computador A tenha 500 MB a mais de memória RAM livre para uso do que o computador B, o trabalho nele certamente será mais lento, pois ele não aproveita a vantagem de utilizar a rapidíssima memória RAM que está sobrando ali para acessar os dados que ele precisa. Ao invés disso, ele depende do acesso constante ao disco rígido e SSD, que são muito mais lentos que a memória RAM.
Conclusão: de que adianta seu computador ter muita memória RAM se ele não se beneficiar disso para deixar o seu PC mais rápido?
É por isso que o fato de existir mais memória RAM livre não significa que o Windows vai trabalhar mais rápido ali. Como eu disse antes, o que importa não é a economia a todo custo de memória RAM, mas sim o uso INTELIGENTE da memória RAM.