9Sep

Os Limpadores de Memória do Firefox realmente funcionam?

Não é segredo que o Firefox possa consumir bastante memória do sistema durante o uso normal. Enquanto o número de guias que você abriu e os complementos instalados certamente contribuem, mesmo uma instalação de caixa conservada de forma conservadora pode relatar um pouco de uso de memória.

Isso causou alguns complementos do Firefox à superfície que reivindicam a liberação de memória, o navegador não precisa mais, mas eles realmente funcionam?

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

Antes de mergulhar na análise de um limpador de memória, é importante entender um pouco sobre como o Windows lida com a memória. Isso será importante para que possamos interpretar os resultados de nossa experiência.

Não se preocupe, vamos cobrir isso em um nível muito alto, então você não precisa 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 modo algum deve ser considerado autoritário ou definitivo, pois é apenas explicado ao nível aplicável ao assunto deste artigo.

O Windows é inteligente o suficiente para saber que a memória física não utilizada é memória desperdiçada, por isso carrega tudo o que precisa e acha que precisará na memória. No entanto, apenas o que seu sistema realmente precisa( tanto o Windows quanto as aplicações) e está ativamente usando no momento atual é relatado como memória física usada. O resto( o que o Windows pensa que vai precisar) reside no que é chamado de memória virtual.

A memória virtual é essencialmente os dados que não são ativamente requeridos pelo sistema operacional, mas está pronto para ser carregado na memória ativa a qualquer momento. Você pode calcular grosseiramente a quantidade de memória virtual que seu sistema possui ao mesmo tempo usando esta fórmula:

Memória Virtual =( Memória física total - Usada / Memória física ativa) + Tamanho máximo do arquivo da página do sistema

Então, suponha que você tenha um sistemacom 4 GB de memória física e um arquivo de página máximo de 6 GB.Em seguida, inicialize o Windows e abra 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 página de 6 GB para um total de 7,5 GB de memória virtual disponível.

Lembre-se, o sistema operacional é inteligente o suficiente para saber que a memória física não utilizada é memória perdida, então ele irá preencher o restante 1,5 de memória física com o que antecipa que você precisará, para que possa ser acessado sob demanda quase instantaneamente. Isso pode ser qualquer coisa, desde dados de programa de fundo minimizados até funções comuns do sistema operacional.

Então, o que acontece quando o Windows está 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 que ele precisa para manter na memória, escrevendo e recuperando( aka uma falha de página), essas informações para / do disco rígido são ordens de magnitude mais lentas do que acessá-lo a partir da memória física.É por isso que a memória mais física que você possui é mais rápida que seu sistema pode ser executado. Quanto menos seu sistema usar seu arquivo de página, mais rápido ele executará.

Monitorando o uso de memória do Firefox

Para a nossa investigação, simplesmente estaremos usando o Gerenciador de tarefas do Windows. Seguiremos as seguintes colunas( as descrições são definidas na página da Microsoft):

  • Working Set = Quantidade de memória no conjunto de trabalho privado mais a quantidade de memória que o processo está usando que pode ser compartilhada por outros processos.
  • Peak Working Set = Quantidade máxima de memória de trabalho ajustada usada pelo processo. Memória
  • ( Conjunto de Trabalho Privado) = Conjunto de subconjuntos de trabalho que descreve especificamente a quantidade de memória que um processo está usando, que não pode ser compartilhado por outros processos.
  • Commit Size = Quantidade de memória virtual reservada para uso por um processo.

Usaremos uma instalação fora da caixa do Firefox 4.0.1 com apenas o suplemento Memory Fox carregado. No Firefox, teremos as seguintes abas abertas e não faremos nada além de rolar para cima e para baixo as páginas carregadas.

Depois de esperar alguns minutos para que tudo termine de carregar, o Windows Task Manager relata o seguinte para o Firefox.

Agora, quando começamos o complemento Memory Fox, observe a queda dramática na quantidade de uso de memória relatada.

Tome nota também de que um novo processo é iniciado por este complemento, que é o que administra as funções de memória.

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 de limpeza de memória que recupera essa memória.

Aqui está o uso de memória relatado tomado a cada poucos segundos, enquanto o Firefox permanece ocioso.

Observe a queda nos valores do conjunto de trabalho e da memória. Este é um limpador de memória que recupera a memória do sistema.

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

Lather. Enxaguar. Repetir.

Além disso, se você fizer nada, mas trocar abas e deslocar para cima e para baixo as páginas carregadas, você pode ver os números flutuam um pouco mais drasticamente, o que será explicado abaixo.

Interpretando os resultados

Quando você olha pela primeira vez, você pensaria, hey, isso está funcionando muito bem. Mas dê uma olhada na coluna Cometer Tamanho e você pode ver que esse valor nunca realmente muda. Na verdade, aumenta quando você inicia o complemento de limpeza da memória.

Lembre-se, a coluna Comit Size relata a quantidade real de memória( física + virtual) O Windows precisa executar a respectiva aplicação. Assim, em nosso exemplo, o ~ 120 MB é reservado e ativo no sistema especificamente para o Firefox e está residindo na memória física não utilizada e / ou no arquivo da página do sistema. Lembre-se também de que, se o arquivo de página precisa ser usado, há um impacto de desempenho notável porque a memória virtual deve ser gravada e lida a partir do disco rígido, que é significativamente mais lento do que a memória física.

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 a algum lugar).Quando isso acontece, o Firefox não tem mais a memória que precisa funcionar ativamente, por isso precisa pedir ao Windows para mover os dados que ele precisa da memória virtual de volta à memória física. E ao redor e ao redor, vamos. ..

Na melhor das hipóteses, este processo não faz nada útil e, na pior das hipóteses, causa uma enorme quantidade de falhas de página desnecessárias porque, novamente, se o Windows tiver que colocar o arquivo de página em jogo, então haverá umdesempenho notável atingido. Isso pode ser especialmente o caso no sistema que não tem muita memória física( onde praticamente toda a memória virtual é mantida em um arquivo de página), o que é irônico porque esses são os sistemas que um limpador de memória foi projetado.

A moral de toda essa história é bastante simples, os limpadores de memória não fazem nada senão deslocam-se em torno dos números. Qualquer SO vai saber como lidar com a memória de forma adequada, então deixe-os fazer o que são.

Gerenciando o uso de memória do Firefox

Como mostramos que os complementos de limpeza de memória realmente não fazem nada útil, o que você pode fazer sobre a grande quantidade de memória que o Firefox usa? Aqui estão algumas sugestões:

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

Memory Fox Next Add-on para Firefox