Os limpadores de memória do Firefox realmente funcionam?

imagem

Não é nenhum segredo que o Firefox pode consumir bastante memória do sistema durante o uso normal. Embora o número de guias que você abriu e os complementos instalados certamente contribuam, mesmo uma instalação pronta para uso conservadora pode relatar um pouco de uso de memória.

Isso fez com que surgissem alguns complementos do Firefox que afirmam liberar memória que o navegador não precisa mais, mas será que eles realmente funcionam?

Uma visão geral de dois minutos sobre como o Windows lida com a memória

imagem

Antes de examinarmos um limpador de memória, é importante entender um pouco sobre a maneira como o Windows lida com a memória. Isso será importante para que possamos interpretar os resultados de nosso experimento.

Não se preocupe, vamos cobrir isso em um nível muito alto para que você não precise ser um mega-geek para acompanhar.

Como um aviso rápido, este é um resumo extremamente breve dos princípios básicos do gerenciamento de memória do Windows. De forma alguma isso deve ser considerado oficial ou definitivo, pois só é explicado no nível aplicável ao assunto deste artigo.

O Windows é inteligente o suficiente para saber que memória física não utilizada é memória desperdiçada, então ele carrega tudo de que precisa e pensa que precisará na memória. No entanto, apenas o que o seu sistema realmente precisa (Windows e aplicativos) e está usando ativamente no momento é relatado como memória física usada. O resto (o que o Windows pensa que precisará) reside na chamada memória virtual.

A memória virtual é basicamente os dados que não são ativamente exigidos pelo sistema operacional, mas estão prontos para serem carregados na memória ativa a qualquer momento. Você pode calcular de maneira muito grosseira a quantidade de memória virtual que seu sistema possui a qualquer momento usando esta fórmula:

Memória virtual = (memória física total – memória física usada / ativa) + tamanho máximo do arquivo da página do sistema

Portanto, suponha que você tenha um sistema com 4 GB de memória física e um arquivo de paginação máximo de 6 GB. Em seguida, você inicializa o Windows e abre alguns aplicativos (Outlook, Firefox, etc.) e o Windows informa que 2,5 GB de memória física estão sendo usados. Isso significa que você tem 1,5 GB de memória física “não utilizada” e um arquivo de paginação de 6 GB para um total de 7,5 GB de memória virtual disponível.

Recomendado:  É finalmente seguro (e acessível) comprar placas gráficas novamente

Lembre-se de que o sistema operacional é inteligente o suficiente para saber que a memória física não utilizada é memória desperdiçada, portanto, ele preencherá o 1,5 restante da memória física com o que prevê que será necessário para que possa ser acessado sob demanda quase que instantaneamente. Isso pode ser qualquer coisa, desde dados minimizados do programa em segundo plano até funções comuns do sistema operacional.

Então, o que acontece quando o Windows fica sem memória física para usar como memória virtual? Ele grava esses dados no arquivo da página do sistema, que é um arquivo enorme (no nosso caso, 6 GB) em seu disco rígido. Embora isso permita que o sistema operacional armazene praticamente todos os dados de que precisa para manter na memória, escrever e recuperar (também conhecido como falha de página) essas informações para / do disco rígido são ordens de magnitude mais lentas do que acessá-las da memória física. É por isso que quanto mais memória física você tem, mais rápido o sistema pode funcionar. Quanto menos o sistema usar o arquivo de paginação, mais rápido será o desempenho.

Monitorando o uso de memória do Firefox

Para nossa investigação, usaremos simplesmente o Gerenciador de Tarefas do Windows. Estaremos rastreando as seguintes colunas ( as descrições são definidas na página da Microsoft ):

  • Conjunto de trabalho = quantidade de memória no conjunto de trabalho privado mais a quantidade de memória que o processo está usando e que pode ser compartilhada por outros processos.
  • Peak Working Set = Quantidade máxima de memória do conjunto de trabalho usada pelo processo.
  • Memória (conjunto de trabalho privado) = Subconjunto do conjunto de trabalho que descreve especificamente a quantidade de memória que um processo está usando e que não pode ser compartilhada por outros processos.
  • Tamanho da confirmação = quantidade de memória virtual reservada para uso por um processo.
Recomendado:  Como colar texto sem formatação em quase qualquer lugar

imagem

Estaremos usando uma instalação pronta do Firefox 4.0.1 com apenas o complemento Memory Fox carregado. No Firefox, teremos as seguintes guias abertas e não faremos nada além de rolar para cima e para baixo nas páginas carregadas.

imagem

Depois de esperar alguns momentos para que tudo termine de carregar, o Gerenciador de Tarefas do Windows relata o seguinte para o Firefox.

imagem

Agora, quando iniciamos o complemento Memory Fox, observe a queda dramática na quantidade de uso de memória relatado.

imagem

Observe também que um novo processo é iniciado por este complemento que controla as funções de memória.

imagem

Deixando o Firefox ocioso e observando os valores do conjunto de trabalho e da memória, você pode ver que há uma luta constante entre o Firefox que precisa de memória física ativa e o complemento do limpador de memória que recupera essa memória.

Aqui está o uso de memória relatado em intervalos de poucos segundos enquanto o Firefox está ocioso.

imagem

imagem

Observe a queda nos valores do Conjunto de Trabalho e da Memória. Este é o limpador de memória que recupera a memória do sistema.

imagem

imagem

imagem

Depois de subir um pouco, você pode ver outra queda.

imagem

imagem

imagem

Espuma. Enxágüe. Repetir.

Além disso, se você não fizer nada além de alternar as guias e rolar para cima e para baixo nas páginas carregadas, poderá ver os números flutuarem um pouco mais drasticamente, o que será explicado abaixo.

Interpretando os resultados

Quando você olha pela primeira vez, você pensa, ei, isso está funcionando muito bem. Mas dê uma olhada na coluna Tamanho do commit e você verá que esse valor nunca muda realmente. Na verdade, ele aumenta quando você inicia o add-on de limpeza de memória.

Lembre-se de que a coluna Tamanho da confirmação informa a quantidade real de memória (física + virtual) que o Windows precisa para executar o respectivo aplicativo. Portanto, em nosso exemplo, ~ 120 MB está reservado e ativo no sistema especificamente para o Firefox e está residindo na memória física não utilizada e / ou no arquivo de página do sistema. Lembre-se também de que se o arquivo de paginação precisar ser usado, haverá um impacto perceptível no desempenho porque a memória virtual deve ser gravada e lida no disco rígido, que é significativamente mais lento do que a memória física.

Recomendado:  Como desligar um PC com Windows sem instalar atualizações

Então, essencialmente, o limpador de memória está movendo a memória física ativa para a memória virtual (porque a memória é recuperada tem que ir para algum lugar). Quando isso acontece, o Firefox não tem mais a memória necessária para funcionar ativamente, então ele precisa pedir ao Windows para mover os respectivos dados necessários da memória virtual de volta para a memória física. E rodamos e rodamos …

Na melhor das hipóteses, esse processo não faz nada útil e, na pior das hipóteses, causa uma quantidade enorme de falhas de página desnecessárias porque, novamente, se o Windows tiver que colocar o arquivo de paginação em jogo, haverá um impacto perceptível no desempenho. Isso pode ser especialmente o caso em sistemas que não têm muita memória física (onde praticamente toda a memória virtual é mantida em um arquivo de paginação), o que é irônico porque esses são os sistemas para os quais um limpador de memória foi “projetado”.

A moral de toda esta história é muito simples, os limpadores de memória não fazem nada além de mudar os números. Qualquer sistema operacional saberá como lidar com a memória de forma adequada, então deixe-os fazer o que eles querem.

Gerenciando o uso de memória do Firefox

Já que mostramos que os add-ons de limpeza de memória não fazem nada de útil, o que você pode fazer com a grande quantidade de memória que o Firefox usa? Aqui estão algumas sugestões:

  • Remova complementos de que você não precisa (especialmente os de limpeza de memória).
  • Mantenha o número de guias abertas no mínimo.
  • Feche o Firefox periodicamente e reinicie-o.
  • Adicione mais memória ao seu sistema.
  • Não se preocupe com isso.

Add-on Memory Fox Next para Firefox