Os limpadores de memória do Firefox realmente funcionam?
Não é segredo que o Firefox pode consumir um pouco de memória do sistema durante o uso normal. Embora o número de guias abertas e os complementos instalados certamente contribuam, mesmo uma instalação pronta e conservadora pode relatar um pouco de uso de memória.
Isso fez com que alguns complementos do Firefox surgissem, alegando liberar memória que o navegador não precisa mais, mas eles realmente funcionam?
Uma visão geral de dois minutos sobre como o Windows lida com a memória
Antes de nos aprofundarmos no exame de 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 nossa experiência.
Não se preocupe, vamos cobrir isso em um nível muito alto para que você não tenha que ser um mega-geek para acompanhar.
Como um aviso rápido, este é um resumo extremamente breve dos conceitos básicos do gerenciamento de memória do Windows. De modo algum deve ser considerado autoritativo ou definitivo, pois só é 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 é um desperdício de memória, 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 os aplicativos) e está usando ativamente no momento atual é relatado como memória física usada. O resto (o que o Windows acha que vai precisar) reside no que é chamado de memória virtual.
A memória virtual é essencialmente 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 muito grosseiramente a quantidade de memória virtual que seu sistema tem a qualquer momento usando esta fórmula:
Memória Virtual = (Memória Física Total - Usada / Memória Física Ativa) + Tamanho Máximo do Arquivo de Página do Sistema
Portanto, suponha que você tenha um sistema com 4 GB de memória física e um arquivo de página 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 usada" 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 é uma perda de memória, portanto, ela preencherá os 1,5 restantes da memória física com o que você precisa para poder ser acessada sob demanda quase instantaneamente. Isso pode ser qualquer coisa, desde dados de programa em segundo plano minimizados até funções comuns do SO.
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 de paginação do sistema, que é um arquivo enorme (no nosso caso, 6 GB) no disco rígido. Embora isso permita que o sistema operacional armazene praticamente todos os dados de que precisa para manter a memória, gravação e recuperação (também conhecido como falha de página), essas informações de / para o disco rígido são ordens de magnitude mais lentas do que acessadas a partir da memória física. É por isso que quanto mais memória física você tiver, mais rápido seu sistema poderá ser executado. Quanto menos o sistema usar o arquivo de paginação, mais rápido ele será executado.
Monitorando o uso da memória do Firefox
Para nossa investigação, estaremos simplesmente usando o Gerenciador de Tarefas do Windows. Estaremos acompanhando 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 particular 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 (Private Working Set) = Subconjunto do conjunto de trabalho que descreve especificamente a quantidade de memória que um processo está usando e que não pode ser compartilhado por outros processos.
- Tamanho da Confirmação = Quantidade de memória virtual reservada para uso por um processo.
Nós estaremos usando uma instalação pronta do Firefox 4.0.1 com apenas o complemento 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 instantes para que tudo termine de carregar, o Gerenciador de Tarefas do Windows relata o seguinte para o Firefox.
Agora, quando iniciarmos o complemento do Memory Fox, observe a queda drástica na quantidade de uso de memória relatada.
Também tome nota que um novo processo é iniciado por este complemento, que é o que lida com as funções de memória.
Deixando o Firefox ocioso e observando os valores Working Set e Memory, 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 em poucos segundos enquanto o Firefox está ocioso.
Observe a queda nos valores de conjunto de trabalho e memória. Este é o limpador de memória recuperando a memória do sistema.
Depois de subir um pouco, você pode ver outra queda.
Espuma. Enxaguar. 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 flutuando um pouco mais drasticamente, o que será explicado abaixo.
Interpretando os Resultados
Quando você olhar pela primeira vez, você pensaria, hey isso está funcionando muito bem. Mas dê uma olhada na coluna Commit Size e você pode ver que esse valor nunca muda realmente. Na verdade, aumenta quando você inicia o complemento de limpeza de memória.
Lembre-se de que a coluna Commit Size informa a quantidade real de memória (física + virtual) que o Windows precisa para executar o respectivo aplicativo. Portanto, no nosso exemplo, os ~ 120 MB são reservados e ativos no sistema especificamente para o Firefox e residem na memória física não utilizada e / ou no arquivo de paginação do sistema. Lembre-se também que, se o arquivo de paginação precisar ser usado, haverá um impacto perceptível no desempenho, pois a memória virtual precisa ser gravada e lida no disco rígido, que é significativamente mais lento 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 em algum lugar). Quando isso acontece, o Firefox não tem mais a memória de que precisa para funcionar ativamente, por isso precisa pedir ao Windows para mover os respectivos dados de que precisa da memória virtual para a memória física. E ao redor e ao redor nós vamos ...
Na melhor das hipóteses, esse 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 paginação em execução, ocorrerá um impacto notável no desempenho. Isso pode ser especialmente o caso do sistema que não tem 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 que um limpador de memória foi “projetado” para.
A moral de toda essa história é bastante simples: limpadores de memória não fazem nada além de mudar números. Qualquer sistema operacional saberá como lidar com a memória de maneira apropriada, portanto, deixe-os fazer o que quiserem.
Gerenciando o uso da memória do Firefox
Já que mostramos que complementos de limpeza de memória não fazem nada útil, o que você pode fazer com a grande quantidade de memória que o Firefox usa? Aqui estão algumas sugestões:
- Remova os complementos de que você não precisa (especialmente os de limpeza de memória).
- Mantenha o número de abas abertas a um mínimo.
- Periodicamente feche o Firefox e reinicie-o.
- Adicione mais memória ao seu sistema.
- Não se preocupe com isso.
Memory Fox Next Add-on para Firefox