Por que o Chrome usa tanta memória RAM?

chrome_ramCostumava ser o caso que só usuários mais “exigentes” precisavam de bastante memória no computador. De uns anos para cá, porém, a simples navegação na web se tornou uma das maiores vilãs no consumo de RAM e, na liderança dessa tendência, está o navegador Google Chrome, que chega a ser “vítima” de piadas na web (como esta). Por que isso acontece?

Na verdade, uma boa parte disso tem a ver com a segurança. O Chrome possui uma tecnologia de isolamento (chamada de “sandbox”) bastante agressiva. É por isso que o Chrome, além de consumir bastante memória, aparece listado várias vezes no “Gerenciador de Tarefas” (o programa do Windows aberto com a combinação CTRL-SHIFT-ESC e que lista os programas em execução no computador).

O isolamento usa muita memória. Além de exigir que algumas tarefas e dados sejam duplicados, porque o isolamento não deixa os processos se comunicarem entre si, ainda é preciso um processo adicional para controlar tudo isso – saber qual tarefa está em qual processo, gerar a interface do navegador, etc, para que o internauta não tenha a impressão de que o programa está “fragmentado”. (Você pode acessar isso dentro do Chrome com a combinação SHIFT-ESC).

E para que serve o isolamento?

  • Impedir que um problema causado por um site faça o navegador inteiro travar. Assim, você não perde todas as suas abas abertas quando um único site causar problemas no navegador.
  • Impedir que um site que consiga explorar uma falha no navegador cause danos maiores ao computador, como instalar um vírus.
  • Impedir que sites usem truques para convencer o navegador a interagir de maneira indevida com outros sites. A ideia é dificultar que um site malicioso consiga roubar seu acesso ao Facebook, por exemplo, simplesmente porque o Facebook está aberto em outra aba.

O Chrome não é o único

O Chrome não é o único a adotar o isolamento. Os principais navegadores do mercado (Safari, Chrome, Firefox, Edge e Internet Explorer) adotam um ou outro tipo de isolamento; no mínimo, os plug-ins (como o Flash) são isolados das páginas. O Chrome, porém, é o mais agressivo, e isso se reflete em consumo de memória acima da média, mesmo quando comparado a outros navegadores desenvolvidos com a mesma base tecnológica, como Opera, Safari e Vivaldi.

Como o Chrome e o Firefox são projetos de código aberto, esses são os navegadores cujas tecnologias são mais bem conhecidas. E o Chrome tem projetos para tecnologias de isolamento ainda mais agressivas cujo principal entrave é justamente o impacto no desempenho.

Suporte a conteúdo

Sites também muito mais complexos nos últimos anos, com a adoção da linguagem HTML5 e uso de extensas bibliotecas de “scripts”.

Isso poupa o trabalho de quem faz sites, pois os desenvolvedores web podem pegar códigos que simplificam as tarefas mas o navegador é obrigado a carregar toda essa complexidade repetidamente. A facilidade de desenvolvimento logo se transforma em uma bola de neve, com as facilidades servindo de plataforma para a criação de sites mais interativos e complicados. Tudo isso se traduz em mais trabalho para o navegador – e mais trabalho significa mais processamento e memória.

O isolamento entre os sites, feito em nome da segurança, agrava o problema, já que o navegador não pode tentar fazer nenhum tipo de otimização.

O próprio suporte a novos conteúdos deixou os navegadores mais complexos, como vídeos protegidos por direito autoral.

Custo-benefício

O uso de recursos pelos navegadores acaba tendo um impacto muito indesejado: a redução do tempo de vida da bateria em computadores móveis (veja mais). O uso de RAM é um reflexo de um projeto que, no geral, consome mais recursos.

Mas o consumo de memória pode, às vezes, ser bom. Os botões “Voltar” e “Avançar”, por exemplo, funcionam em alta velocidade no Chrome. Isso acontece porque o navegador salva as páginas visitadas anteriormente na memória (e. O consumo acaba sendo maior, mas o uso do navegador fica acelerado. Se o “recurso de pré-chamada” estiver habilitado (e ele está ativado por padrão), o navegador vai usar memória para guardar páginas que você nem abriu, mas que ele acha que você vai abrir no futuro – tudo para deixar a navegação mais rápida.

Para que serve a RAM livre?

Muitas pessoas associam o alto consumo de RAM a um computador lento. Isso nem sempre procede. A RAM livre é inútil. O consumo de memória só vai deixar o computador lento caso ocorra o fenômeno conhecido como “paginação”, em que o sistema operacional joga parte do conteúdo que devia estar na RAM em um arquivo do disco. Quando o conteúdo tiver de ser lido, ele será lido do disco, que é muito mais lento que a memória RAM. Isso é o que causará lentidão.

Porém, essa lentidão nem sempre se realiza na prática. Se você está com alto consumo de RAM e decide iniciar um novo programa que também usa muita RAM, como um jogo, o sistema vai abrir espaço na memória para o novo aplicativo. No caso de um jogo em tela cheia, você não vai mais interagir com outros programas enquanto joga, então a parte de RAM que foi jogada para o disco não vai deixar o game mais lento… desde que você não use um “ALT-TAB” para sair do jogo para outro programa.

Não é novidade que a segurança tem um impacto no desempenho do computador — antivírus são muito bem conhecidos pelo uso de processamento. O Google Chrome é o navegador recomendado desta coluna por seus avançados recursos de segurança. Porém, se você precisa de mais vida útil da bateria do seu notebook, ou vai querer rodar um navegador junto do seu game para consultar alguma referência, talvez seja interessante considerar as alternativas.

Agradecemos ao Paulo Sollo, colaborador amigo do seu micro seguro, pela referência a essa matéria.

Fonte: G1

Os comentários estão desativados.

%d blogueiros gostam disto: